本文整理汇总了Golang中github.com/couchbase/indexing/secondary/logging.Infof函数的典型用法代码示例。如果您正苦于以下问题:Golang Infof函数的具体用法?Golang Infof怎么用?Golang Infof使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Infof函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: sendMutationTopicRequest
//send the actual MutationStreamRequest on adminport
func (k *kvSender) sendMutationTopicRequest(ap *projClient.Client, topic string,
reqTimestamps *protobuf.TsVbuuid,
instances []*protobuf.Instance) (*protobuf.TopicResponse, error) {
logging.Infof("KVSender::sendMutationTopicRequest Projector %v Topic %v %v \n\tInstances %v",
ap, topic, reqTimestamps.GetBucket(), instances)
logging.LazyVerbosef("KVSender::sendMutationTopicRequest RequestTS %v", reqTimestamps.Repr)
endpointType := "dataport"
if res, err := ap.MutationTopicRequest(topic, endpointType,
[]*protobuf.TsVbuuid{reqTimestamps}, instances); err != nil {
logging.Fatalf("KVSender::sendMutationTopicRequest Projector %v Topic %v %v \n\tUnexpected Error %v", ap,
topic, reqTimestamps.GetBucket(), err)
return res, err
} else {
logging.Infof("KVSender::sendMutationTopicRequest Success Projector %v Topic %v %v InstanceIds %v",
ap, topic, reqTimestamps.GetBucket(), res.GetInstanceIds())
if logging.IsEnabled(logging.Verbose) {
logging.Verbosef("KVSender::sendMutationTopicRequest ActiveTs %v \n\tRollbackTs %v",
debugPrintTs(res.GetActiveTimestamps(), reqTimestamps.GetBucket()),
debugPrintTs(res.GetRollbackTimestamps(), reqTimestamps.GetBucket()))
}
return res, nil
}
}
示例2: doMutationTopic
// - return ErrorInvalidKVaddrs for malformed vbuuid.
// - return ErrorInconsistentFeed for malformed feed request.
// - return ErrorInvalidVbucketBranch for malformed vbuuid.
// - return dcp-client failures.
// - return ErrorResponseTimeout if request is not completed within timeout.
func (p *Projector) doMutationTopic(
request *protobuf.MutationTopicRequest,
opaque uint16) ap.MessageMarshaller {
topic := request.GetTopic()
// log this request.
prefix := p.logPrefix
logging.Infof("%v ##%x doMutationTopic() %q\n", prefix, opaque, topic)
defer logging.Infof("%v ##%x doMutationTopic() returns ...\n", prefix, opaque)
var err error
feed, _ := p.acquireFeed(topic)
defer p.releaseFeed(topic)
if feed == nil {
config := p.GetFeedConfig()
feed, err = NewFeed(p.pooln, topic, config, opaque)
if err != nil {
fmsg := "%v ##%x unable to create feed %v\n"
logging.Errorf(fmsg, prefix, opaque, topic)
return (&protobuf.TopicResponse{}).SetErr(err)
}
}
response, err := feed.MutationTopic(request, opaque)
if err != nil {
response.SetErr(err)
}
p.AddFeed(topic, feed)
return response
}
示例3: runTimerTestReceiver
// run test
func runTimerTestReceiver(mgr *manager.IndexManager, ch chan *common.TsVbuuid, donech chan bool) {
logging.Infof("Run Timer Test Receiver")
defer close(donech)
// wait for the sync message to arrive
ticker := time.NewTicker(time.Duration(60) * time.Second)
for {
select {
case ts := <-ch:
if ts.Seqnos[10] == 406 {
// wait to avoid race condition -- this is timing dependent.
time.Sleep(time.Duration(2000) * time.Millisecond)
seqno, ok := mgr.GetStabilityTimestampForVb(common.MAINT_STREAM, "Default", uint16(10))
if !ok || seqno != ts.Seqnos[10] {
util.TT.Fatal("runTimerTestReceiver(): timestamp seqno does not match with repo. %d != %d",
ts.Seqnos[10], seqno)
} else {
logging.Infof("****** runTimerTestReceiver() receive correct stability timestamp")
return
}
}
case <-ticker.C:
logging.Infof("****** runTimerTestReceiver() : timeout")
util.TT.Fatal("runTimerTestReceiver(): Timeout waiting to receive timestamp to arrive")
}
}
logging.Infof("runTimerTestReceiver() done")
}
示例4: dropIndexRequest
func dropIndexRequest(t *testing.T) {
logging.Infof("********** Start dropIndexRequest")
// Construct request body.
info := common.IndexDefn{
DefnId: common.IndexDefnId(500),
Name: "request_handler_test",
Bucket: "Default",
}
req := manager.IndexRequest{Version: uint64(1), Type: manager.DROP, Index: info}
body, err := json.Marshal(req)
if err != nil {
t.Fatal(err)
}
bodybuf := bytes.NewBuffer(body)
resp, err := http.Post("http://localhost:9102/dropIndex", "application/json", bodybuf)
if err != nil {
t.Fatal(err)
}
validateIndexResponse(resp, t)
logging.Infof("********** Done dropIndexRequest")
}
示例5: printFlogs
func printFlogs(vbnos []uint16, flogs couchbase.FailoverLog) {
for i, vbno := range vbnos {
logging.Infof("Failover log for vbucket %v\n", vbno)
logging.Infof(" %#v\n", flogs[uint16(i)])
}
logging.Infof("\n")
}
示例6: changeTopologyForTimerTest
// start up
func changeTopologyForTimerTest(mgr *manager.IndexManager) {
// Add a new index definition : 406
idxDefn := &common.IndexDefn{
DefnId: common.IndexDefnId(406),
Name: "stream_mgr_timer_test",
Using: common.ForestDB,
Bucket: "Default",
IsPrimary: false,
SecExprs: []string{"Testing"},
ExprType: common.N1QL,
PartitionScheme: common.HASH,
PartitionKey: "Testing"}
logging.Infof("Run Timer Test : Create Index Defn 406")
if err := mgr.HandleCreateIndexDDL(idxDefn); err != nil {
util.TT.Fatal(err)
}
// Wait so there is no race condition.
time.Sleep(time.Duration(1000) * time.Millisecond)
// Update the index definition to ready
logging.Infof("Run Timer Test : Update Index Defn 406 to READY")
topology, err := mgr.GetTopologyByBucket("Default")
if err != nil {
util.TT.Fatal(err)
}
topology.ChangeStateForIndexInstByDefn(common.IndexDefnId(406), common.INDEX_STATE_CREATED, common.INDEX_STATE_READY)
if err := mgr.SetTopologyByBucket("Default", topology); err != nil {
util.TT.Fatal(err)
}
}
示例7: startBucket
func startBucket(cluster, bucketn string, rch chan []interface{}) int {
defer func() {
if r := recover(); r != nil {
logging.Errorf("Recovered from panic %v", r)
logging.Errorf(logging.StackTrace())
}
}()
logging.Infof("Connecting with %q\n", bucketn)
b, err := common.ConnectBucket(cluster, "default", bucketn)
mf(err, "bucket")
dcpConfig := map[string]interface{}{
"genChanSize": 10000,
"dataChanSize": 10000,
}
dcpFeed, err := b.StartDcpFeed("rawupr", uint32(0), 0xABCD, dcpConfig)
mf(err, "- upr")
vbnos := listOfVbnos(options.maxVbno)
flogs, err := b.GetFailoverLogs(0xABCD, vbnos, dcpConfig)
mf(err, "- dcp failoverlogs")
if options.printflogs {
printFlogs(vbnos, flogs)
}
go startDcp(dcpFeed, flogs)
for {
e, ok := <-dcpFeed.C
if ok == false {
logging.Infof("Closing for bucket %q\n", bucketn)
}
rch <- []interface{}{bucketn, e}
}
}
示例8: doAddBuckets
// - return ErrorTopicMissing if feed is not started.
// - return ErrorInconsistentFeed for malformed feed request
// - return ErrorInvalidVbucketBranch for malformed vbuuid.
// - return dcp-client failures.
// - return ErrorResponseTimeout if request is not completed within timeout.
func (p *Projector) doAddBuckets(
request *protobuf.AddBucketsRequest, opaque uint16) ap.MessageMarshaller {
topic := request.GetTopic()
// log this request.
prefix := p.logPrefix
logging.Infof("%v ##%x doAddBuckets() %q\n", prefix, opaque, topic)
defer logging.Infof("%v ##%x doAddBuckets() returns ...\n", prefix, opaque)
feed, err := p.acquireFeed(topic)
defer p.releaseFeed(topic)
if err != nil {
logging.Errorf("%v ##%x acquireFeed(): %v\n", prefix, opaque, err)
response := &protobuf.TopicResponse{}
if err != projC.ErrorTopicMissing {
response = feed.GetTopicResponse()
}
return response.SetErr(err)
}
response, err := feed.AddBuckets(request, opaque)
if err == nil {
return response
}
return response.SetErr(err)
}
示例9: needsCompaction
func (cd *compactionDaemon) needsCompaction(is IndexStorageStats, config common.Config) bool {
logging.Infof("CompactionDaemon: Checking fragmentation, %s", is.String())
interval := config["interval"].String()
isCompactionInterval := true
if interval != "00:00,00:00" {
var start_hr, start_min, end_hr, end_min int
n, err := fmt.Sscanf(interval, "%d:%d,%d:%d", &start_hr, &start_min, &end_hr, &end_min)
start_min += start_hr * 60
end_min += end_hr * 60
if n == 4 && err == nil {
hr, min, _ := time.Now().Clock()
min += hr * 60
if min < start_min || min > end_min {
isCompactionInterval = false
}
}
}
if !isCompactionInterval {
logging.Infof("CompactionDaemon: Compaction attempt skipped since compaction interval is configured for %v", interval)
return false
}
if uint64(is.Stats.DiskSize) > config["min_size"].Uint64() {
if is.GetFragmentation() >= float64(config["min_frag"].Int()) {
return true
}
}
return false
}
示例10: calcQueueLenFromMemQuota
//Calculate mutation queue length from memory quota
func (m *mutationMgr) calcQueueLenFromMemQuota() uint64 {
memQuota := m.config["settings.memory_quota"].Uint64()
maxVbLen := m.config["settings.maxVbQueueLength"].Uint64()
maxVbLenDef := m.config["settings.maxVbQueueLength"].DefaultVal.(uint64)
//if there is a user specified value, use that
if maxVbLen != 0 {
logging.Infof("MutationMgr:: Set maxVbQueueLength %v", maxVbLen)
return maxVbLen
} else {
//Formula for calculation(see MB-14876)
//Below 2GB - 5000 per vbucket
//2GB to 4GB - 8000 per vbucket
//Above 4GB - 10000 per vbucket
if memQuota <= 2*1024*1024*1024 {
maxVbLen = 5000
} else if memQuota <= 4*1024*1024*1024 {
maxVbLen = 8000
} else {
maxVbLen = maxVbLenDef
}
logging.Infof("MutationMgr:: Set maxVbQueueLength %v", maxVbLen)
return maxVbLen
}
}
示例11: run
func (cm *compactionManager) run() {
cd := cm.newCompactionDaemon()
cd.Start()
loop:
for {
select {
case cmd, ok := <-cm.supvCmdCh:
if ok {
if cmd.GetMsgType() == COMPACTION_MGR_SHUTDOWN {
logging.Infof("%v: Shutting Down", cm.logPrefix)
cm.supvCmdCh <- &MsgSuccess{}
break loop
} else if cmd.GetMsgType() == CONFIG_SETTINGS_UPDATE {
logging.Infof("%v: Refreshing settings", cm.logPrefix)
cfgUpdate := cmd.(*MsgConfigUpdate)
fullConfig := cfgUpdate.GetConfig()
cfg := fullConfig.SectionConfig("settings.compaction.", true)
cd.ResetConfig(cfg)
cm.supvCmdCh <- &MsgSuccess{}
}
} else {
break loop
}
}
}
cd.Stop()
}
示例12: sendAddInstancesRequest
//send the actual AddInstances request on adminport
func sendAddInstancesRequest(ap *projClient.Client,
topic string,
instances []*protobuf.Instance) (*protobuf.TimestampResponse, error) {
logging.Infof("KVSender::sendAddInstancesRequest Projector %v Topic %v \nInstances %v",
ap, topic, instances)
if res, err := ap.AddInstances(topic, instances); err != nil {
logging.Fatalf("KVSender::sendAddInstancesRequest Unexpected Error During "+
"Add Instances Request Projector %v Topic %v IndexInst %v. Err %v", ap,
topic, instances, err)
return res, err
} else {
logging.Infof("KVSender::sendAddInstancesRequest Success Projector %v Topic %v",
ap, topic)
logging.LazyDebug(func() string {
return fmt.Sprintf(
"KVSender::sendAddInstancesRequest \n\tActiveTs %v ", debugPrintTs(res.GetCurrentTimestamps(), ""))
})
return res, nil
}
}
示例13: sendSync
func (c *timerTestProjectorClient) sendSync(instances []*protobuf.Instance) {
logging.Infof("timerTestProjectorClient.sendSync() ")
if len(instances) != 1 {
util.TT.Fatal("timerTestProjectorClient.sendSync(): More than one index instance sent to fake projector")
}
for _, inst := range instances {
if inst.GetIndexInstance().GetDefinition().GetDefnID() == uint64(406) {
p := util.NewFakeProjector(manager.COORD_MAINT_STREAM_PORT)
go p.Run(c.donech)
payloads := make([]*common.VbKeyVersions, 0, 2000)
// send StreamBegin for all vbuckets
for i := 0; i < manager.NUM_VB; i++ {
payload := common.NewVbKeyVersions("Default", uint16(i) /* vb */, 1, 10)
kv := common.NewKeyVersions(1, []byte("document-name"), 1)
kv.AddStreamBegin()
kv.AddSync()
payload.AddKeyVersions(kv)
payloads = append(payloads, payload)
}
payload := common.NewVbKeyVersions("Default", 10, 1, 10)
kv := common.NewKeyVersions(100, []byte("document-name"), 1)
kv.AddSync()
payload.AddKeyVersions(kv)
payloads = append(payloads, payload)
// send payload
logging.Infof("****** runTimerTestReceiver() sending the first sync message")
if err := p.Client.SendKeyVersions(payloads, true); err != nil {
util.TT.Fatal(err)
}
payloads = make([]*common.VbKeyVersions, 0, 200)
payload = common.NewVbKeyVersions("Default", 10, 1, 10)
kv = common.NewKeyVersions(406, []byte("document-name"), 1)
kv.AddSync()
payload.AddKeyVersions(kv)
payloads = append(payloads, payload)
// send payload
logging.Infof("****** runTimerTestReceiver() sending the second sync message")
if err := p.Client.SendKeyVersions(payloads, true); err != nil {
util.TT.Fatal(err)
}
}
}
}
示例14: OnIndexBuild
func (meta *metaNotifier) OnIndexBuild(indexDefnList []common.IndexDefnId, buckets []string) map[common.IndexInstId]error {
logging.Infof("clustMgrAgent::OnIndexBuild Notification "+
"Received for Build Index %v", indexDefnList)
respCh := make(MsgChannel)
var indexInstList []common.IndexInstId
for _, defnId := range indexDefnList {
indexInstList = append(indexInstList, common.IndexInstId(defnId))
}
meta.adminCh <- &MsgBuildIndex{indexInstList: indexInstList,
respCh: respCh,
bucketList: buckets}
//wait for response
if res, ok := <-respCh; ok {
switch res.GetMsgType() {
case CLUST_MGR_BUILD_INDEX_DDL_RESPONSE:
errMap := res.(*MsgBuildIndexResponse).GetErrorMap()
logging.Infof("clustMgrAgent::OnIndexBuild returns "+
"for Build Index %v", indexDefnList)
return errMap
case MSG_ERROR:
logging.Errorf("clustMgrAgent::OnIndexBuild Error "+
"for Build Index %v. Error %v.", indexDefnList, res)
err := res.(*MsgError).GetError()
errMap := make(map[common.IndexInstId]error)
for _, instId := range indexDefnList {
errMap[common.IndexInstId(instId)] = errors.New(err.String())
}
return errMap
default:
logging.Fatalf("clustMgrAgent::OnIndexBuild Unknown Response "+
"Received for Build Index %v. Response %v", indexDefnList, res)
common.CrashOnError(errors.New("Unknown Response"))
}
} else {
logging.Fatalf("clustMgrAgent::OnIndexBuild Unexpected Channel Close "+
"for Create Index %v", indexDefnList)
common.CrashOnError(errors.New("Unknown Response"))
}
return nil
}
示例15: doFailoverLog
// - return couchbase SDK error if any.
func (p *Projector) doFailoverLog(
request *protobuf.FailoverLogRequest, opaque uint16) ap.MessageMarshaller {
response := &protobuf.FailoverLogResponse{}
pooln := request.GetPool()
bucketn := request.GetBucket()
vbuckets := request.GetVbnos()
// log this request.
prefix := p.logPrefix
fmsg := "%v ##%x doFailoverLog() {%q, %q, %v}\n"
logging.Infof(fmsg, prefix, opaque, pooln, bucketn, vbuckets)
defer logging.Infof("%v ##%x doFailoverLog() returns ...\n", prefix, opaque)
bucket, err := c.ConnectBucket(p.clusterAddr, pooln, bucketn)
if err != nil {
logging.Errorf("%v ##%x ConnectBucket(): %v\n", prefix, opaque, err)
response.Err = protobuf.NewError(err)
return response
}
defer bucket.Close()
protoFlogs := make([]*protobuf.FailoverLog, 0, len(vbuckets))
vbnos := c.Vbno32to16(vbuckets)
dcpConfig := map[string]interface{}{
"genChanSize": p.config["projector.dcp.genChanSize"].Int(),
"dataChanSize": p.config["projector.dcp.dataChanSize"].Int(),
}
flogs, err := bucket.GetFailoverLogs(opaque, vbnos, dcpConfig)
if err == nil {
for vbno, flog := range flogs {
vbuuids := make([]uint64, 0, len(flog))
seqnos := make([]uint64, 0, len(flog))
for _, x := range flog {
vbuuids = append(vbuuids, x[0])
seqnos = append(seqnos, x[1])
}
protoFlog := &protobuf.FailoverLog{
Vbno: proto.Uint32(uint32(vbno)),
Vbuuids: vbuuids,
Seqnos: seqnos,
}
protoFlogs = append(protoFlogs, protoFlog)
}
} else {
logging.Errorf("%v ##%x GetFailoverLogs(): %v\n", prefix, opaque, err)
response.Err = protobuf.NewError(err)
return response
}
response.Logs = protoFlogs
return response
}