mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-24 21:56:43 +00:00
kademlia: improved logs, fix potential deadlock in String()
This commit is contained in:
parent
b58a89b6e0
commit
b610c58875
2 changed files with 9 additions and 5 deletions
|
|
@ -32,6 +32,10 @@ func (t Time) Unix() int64 {
|
||||||
return time.Time(t).Unix()
|
return time.Time(t).Unix()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (t Time) String() string {
|
||||||
|
return time.Time(t).Format("2000-01-01 20:41:00")
|
||||||
|
}
|
||||||
|
|
||||||
type NodeData interface {
|
type NodeData interface {
|
||||||
json.Marshaler
|
json.Marshaler
|
||||||
json.Unmarshaler
|
json.Unmarshaler
|
||||||
|
|
@ -206,7 +210,7 @@ func (self *KadDb) findBest(bucketSize int, binsize func(int) int) (node *NodeRe
|
||||||
// skip already connected nodes
|
// skip already connected nodes
|
||||||
if !node.connected {
|
if !node.connected {
|
||||||
|
|
||||||
glog.V(logger.Detail).Infof("[KΛÐ]: kaddb record %v (PO%03d:%d) not to be retried before %v", node.Addr, po, n, node.After)
|
glog.V(logger.Debug).Infof("[KΛÐ]: kaddb record %v (PO%03d:%d) not to be retried before %v", node.Addr, po, n, node.After)
|
||||||
|
|
||||||
// time since last known connection attempt
|
// time since last known connection attempt
|
||||||
delta := node.After.Unix() - node.Seen.Unix()
|
delta := node.After.Unix() - node.Seen.Unix()
|
||||||
|
|
@ -221,7 +225,7 @@ func (self *KadDb) findBest(bucketSize int, binsize func(int) int) (node *NodeRe
|
||||||
if time.Time(node.Seen).Add(self.purgeInterval).Before(time.Now()) {
|
if time.Time(node.Seen).Add(self.purgeInterval).Before(time.Now()) {
|
||||||
// delete node
|
// delete node
|
||||||
purge = append(purge, n)
|
purge = append(purge, n)
|
||||||
glog.V(logger.Detail).Infof("[KΛÐ]: inactive node record %v (PO%03d:%d) last check: %v, next check: %v", node.Addr, po, n, node.Seen, node.After)
|
glog.V(logger.Debug).Infof("[KΛÐ]: inactive node record %v (PO%03d:%d) last check: %v, next check: %v", node.Addr, po, n, node.Seen, node.After)
|
||||||
} else {
|
} else {
|
||||||
// scheduling next check
|
// scheduling next check
|
||||||
if (node.After == Time(time.Time{})) {
|
if (node.After == Time(time.Time{})) {
|
||||||
|
|
@ -231,12 +235,12 @@ func (self *KadDb) findBest(bucketSize int, binsize func(int) int) (node *NodeRe
|
||||||
node.After = Time(time.Unix(time.Now().Unix()+interval, 0))
|
node.After = Time(time.Unix(time.Now().Unix()+interval, 0))
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.V(logger.Detail).Infof("[KΛÐ]: serve node record %v (PO%03d:%d), last check: %v, next check: %v", node.Addr, po, n, node.Seen, node.After)
|
glog.V(logger.Debug).Infof("[KΛÐ]: serve node record %v (PO%03d:%d), last check: %v, next check: %v", node.Addr, po, n, node.Seen, node.After)
|
||||||
}
|
}
|
||||||
found = true
|
found = true
|
||||||
break ROW
|
break ROW
|
||||||
}
|
}
|
||||||
glog.V(logger.Detail).Infof("[KΛÐ]: kaddb record %v (PO%03d:%d) not ready. skipped. not to be retried before: %v", node.Addr, po, n, node.After)
|
glog.V(logger.Debug).Infof("[KΛÐ]: kaddb record %v (PO%03d:%d) not ready. skipped. not to be retried before: %v", node.Addr, po, n, node.After)
|
||||||
} // if node.node == nil
|
} // if node.node == nil
|
||||||
n++
|
n++
|
||||||
count++
|
count++
|
||||||
|
|
|
||||||
|
|
@ -401,7 +401,7 @@ func (self *Kademlia) String() string {
|
||||||
|
|
||||||
var rows []string
|
var rows []string
|
||||||
rows = append(rows, "=========================================================================")
|
rows = append(rows, "=========================================================================")
|
||||||
rows = append(rows, fmt.Sprintf("KΛÐΞMLIΛ hive: queen's address: %v, population: %d (%d)", self.addr, self.Count(), self.DBCount()))
|
rows = append(rows, fmt.Sprintf("KΛÐΞMLIΛ hive: queen's address: %v, population: %d (%d)", self.addr, self.count, self.DBCount()))
|
||||||
rows = append(rows, fmt.Sprintf("%v : MaxProx: %d, ProxBinSize: %d, BucketSize: %d, proxLimit: %d, proxSize: %d", time.Now(), self.MaxProx, self.ProxBinSize, self.BucketSize, self.proxLimit, self.proxSize))
|
rows = append(rows, fmt.Sprintf("%v : MaxProx: %d, ProxBinSize: %d, BucketSize: %d, proxLimit: %d, proxSize: %d", time.Now(), self.MaxProx, self.ProxBinSize, self.BucketSize, self.proxLimit, self.proxSize))
|
||||||
|
|
||||||
for i, b := range self.buckets {
|
for i, b := range self.buckets {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue