75
hostInfoProvider membership.HostInfoProvider,
76
contextFactory ContextFactory,
78
>
hostIdentity := hostInfoProvider.HostInfo().Identity()
79
>
contextTaggedLogger := log.With(logger, tag.ComponentShardController, tag.Address(hostIdentity))
80
>
taggedMetricsHandler := metricsHandler.WithTags(metrics.OperationTag(metrics.HistoryShardControllerScope))
81
>
82
>
ownership := newOwnership(
83
>
config,
84
>
historyServiceResolver,
85
>
hostInfoProvider,
86
>
contextTaggedLogger,
87
>
taggedMetricsHandler,
88
>
)
89
>
90
>
c := &ControllerImpl{
91
>
config: config,
92
>
contextFactory: contextFactory,
93
>
contextTaggedLogger: contextTaggedLogger,
94
>
historyShards: make(map[int32]historyi.ControllableContext),
95
>
hostInfoProvider: hostInfoProvider,
96
>
ownership: ownership,
97
>
taggedMetricsHandler: taggedMetricsHandler,
98
>
shardCountSubscriptions: map[*shardCountSubscription]struct{}{},
99
>
initialShardsAcquired: future.NewFuture[struct{}](),
100
>
}
101
>
c.lingerState.shards = make(map[historyi.ControllableContext]struct{})
102
>
return c
103
>
}
104
105
func (c *ControllerImpl) Start() {