diff --git a/e2e/docker-compose.yml b/e2e/docker-compose.yml index 0cf0ef7..1d7b382 100644 --- a/e2e/docker-compose.yml +++ b/e2e/docker-compose.yml @@ -104,7 +104,7 @@ services: ## Chainquery ## ################ chainquery: - image: lbry/chainquery:master + image: lbry/chainquery:v2.0.8 restart: "no" ports: - 6300:6300 diff --git a/ip_manager/throttle.go b/ip_manager/throttle.go index f10c229..c7f3878 100644 --- a/ip_manager/throttle.go +++ b/ip_manager/throttle.go @@ -47,13 +47,13 @@ func GetIPPool() (*IPPool, error) { if ipnet.IP.To16() != nil && govalidator.IsIPv6(ipnet.IP.String()) && !ipv6Added { pool = append(pool, throttledIP{ IP: ipnet.IP.String(), - LastUse: time.Time{}, + LastUse: time.Now().Add(-5 * time.Minute), }) ipv6Added = true } else if ipnet.IP.To4() != nil && govalidator.IsIPv4(ipnet.IP.String()) { pool = append(pool, throttledIP{ IP: ipnet.IP.String(), - LastUse: time.Time{}, + LastUse: time.Now().Add(-5 * time.Minute), }) } } @@ -144,7 +144,7 @@ func (i *IPPool) nextIP() (*throttledIP, error) { defer i.lock.Unlock() sort.Slice(i.ips, func(j, k int) bool { - return i.ips[j].LastUse.Before(i.ips[j].LastUse) + return i.ips[j].LastUse.Before(i.ips[k].LastUse) }) if !AllThrottled(i.ips) { diff --git a/ip_manager/throttle_test.go b/ip_manager/throttle_test.go index bc2b3ba..0d2d50f 100644 --- a/ip_manager/throttle_test.go +++ b/ip_manager/throttle_test.go @@ -9,14 +9,28 @@ func TestAll(t *testing.T) { if err != nil { t.Fatal(err) } + ip, err := pool.GetIP() + if err != nil { + t.Fatal(err) + } + t.Log(ip) + pool.ReleaseIP(ip) + ip2, err := pool.GetIP() + if err != nil { + t.Fatal(err) + } + if ip == ip2 && len(pool.ips) > 1 { + t.Fatalf("the same IP was returned twice! %s, %s", ip, ip2) + } + t.Log(ip2) + pool.ReleaseIP(ip2) + for range pool.ips { - ip, err := pool.GetIP() + _, err = pool.GetIP() if err != nil { t.Fatal(err) } - t.Log(ip) } - next, err := pool.nextIP() if err != nil { t.Logf("%s", err.Error()) diff --git a/manager/transfer.go b/manager/transfer.go index 840203f..dfd94ab 100644 --- a/manager/transfer.go +++ b/manager/transfer.go @@ -192,7 +192,7 @@ func transferVideos(s *Sync) error { var stream *jsonrpc.Claim = nil for _, c := range streams.Items { - if c.ClaimID != video.ClaimID { + if c.ClaimID != video.ClaimID || (c.SigningChannel != nil && c.SigningChannel.ClaimID != s.lbryChannelID) { continue } stream = &c diff --git a/manager/ytsync.go b/manager/ytsync.go index 281a1b3..d232994 100644 --- a/manager/ytsync.go +++ b/manager/ytsync.go @@ -675,8 +675,13 @@ func (s *Sync) getClaims(defaultOnly bool) ([]jsonrpc.Claim, error) { if err != nil { return nil, errors.Prefix("cannot list claims", err) } - - return claims.Items, nil + items := make([]jsonrpc.Claim, 0, len(claims.Items)) + for _, c := range claims.Items { + if c.SigningChannel != nil && c.SigningChannel.ClaimID == s.lbryChannelID { + items = append(items, c) + } + } + return items, nil } func (s *Sync) checkIntegrity() error {