This is an automated email from the ASF dual-hosted git repository.

rawlin pushed a commit to branch 4.1.x
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/4.1.x by this push:
     new f5127d3  Remove unnecessary JOIN (#5184) (#5204)
f5127d3 is described below

commit f5127d354ae340bb921e58c25b0d43cb5e450ce4
Author: Rawlin Peters <[email protected]>
AuthorDate: Tue Oct 27 12:01:37 2020 -0600

    Remove unnecessary JOIN (#5184) (#5204)
    
    * Remove unnecessary JOIN
    
    * Fix tests, also some context leaks
    
    * Add to CHANGELOG
    
    (cherry picked from commit 330ac87294439d617c59047642042edd2cc49172)
    
    Co-authored-by: ocket8888 <[email protected]>
---
 CHANGELOG.md                                       |  2 ++
 .../traffic_ops_golang/monitoring/monitoring.go    | 23 +++++-------
 .../monitoring/monitoring_test.go                  | 41 +++++++++-------------
 3 files changed, 27 insertions(+), 39 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ea22362..5e7e813 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,8 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
 ### Fixed
 - Fixed #5188 - DSR (delivery service request) incorrectly marked as complete 
and error message not displaying when DSR fulfilled and DS update fails in 
Traffic Portal. [Related Github 
issues](https://github.com/apache/trafficcontrol/issues/5188)
 - Fixed #5006 - Traffic Ops now generates the Monitoring on-the-fly if the 
snapshot doesn't exist, and logs an error. This fixes upgrading to 4.x to not 
break the CDN until a Snapshot is done.
+- Fixed #5180 - Global Max Mbps and Tps is not send to TM
+- Fixed #3528 - Fix Traffic Ops monitoring.json missing DeliveryServices
 - Fixed #5074 - Traffic Monitor logging "CreateStats not adding availability 
data for server: not found in DeliveryServices" for MID cachces
 - Fixed an issue that causes Traffic Router to mistakenly route to caches that 
had recently been set from ADMIN_DOWN to OFFLINE
 - Traffic Ops Ort: Disabled ntpd verification (ntpd is deprecated in CentOS)
diff --git a/traffic_ops/traffic_ops_golang/monitoring/monitoring.go 
b/traffic_ops/traffic_ops_golang/monitoring/monitoring.go
index f269025..07519cd 100644
--- a/traffic_ops/traffic_ops_golang/monitoring/monitoring.go
+++ b/traffic_ops/traffic_ops_golang/monitoring/monitoring.go
@@ -1,3 +1,5 @@
+// Package monitoring contains handlers and supporting logic for the
+// /cdns/{{CDN Name}}/configs/monitoring Traffic Ops API endpoint.
 package monitoring
 
 /*
@@ -130,7 +132,7 @@ func GetMonitoringJSON(tx *sql.Tx, cdnName string) 
(*Monitoring, error) {
                return nil, fmt.Errorf("error getting profiles: %v", err)
        }
 
-       deliveryServices, err := getDeliveryServices(tx, routers)
+       deliveryServices, err := getDeliveryServices(tx)
        if err != nil {
                return nil, fmt.Errorf("error getting deliveryservices: %v", 
err)
        }
@@ -337,20 +339,13 @@ WHERE pr.config_file = $2;
        return profilesArr, nil
 }
 
-func getDeliveryServices(tx *sql.Tx, routers []Router) ([]DeliveryService, 
error) {
-       profileNames := []string{}
-       for _, router := range routers {
-               profileNames = append(profileNames, router.Profile)
-       }
-
+func getDeliveryServices(tx *sql.Tx) ([]DeliveryService, error) {
        query := `
-SELECT ds.xml_id, ds.global_max_tps, ds.global_max_mbps
-FROM deliveryservice ds
-JOIN profile profile ON profile.id = ds.profile
-WHERE profile.name = ANY($1)
-AND ds.active = true
-`
-       rows, err := tx.Query(query, pq.Array(profileNames))
+       SELECT ds.xml_id, ds.global_max_tps, ds.global_max_mbps
+       FROM deliveryservice ds
+       WHERE ds.active = true
+       `
+       rows, err := tx.Query(query)
        if err != nil {
                return nil, err
        }
diff --git a/traffic_ops/traffic_ops_golang/monitoring/monitoring_test.go 
b/traffic_ops/traffic_ops_golang/monitoring/monitoring_test.go
index 053a9fd..c4a59fb 100644
--- a/traffic_ops/traffic_ops_golang/monitoring/monitoring_test.go
+++ b/traffic_ops/traffic_ops_golang/monitoring/monitoring_test.go
@@ -151,7 +151,8 @@ func TestGetCachegroups(t *testing.T) {
 
        mock.ExpectQuery("SELECT").WithArgs(cdn).WillReturnRows(rows)
 
-       dbCtx, _ := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       dbCtx, f := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       defer f()
        tx, err := db.BeginTx(dbCtx, nil)
        if err != nil {
                t.Fatalf("creating transaction: %v", err)
@@ -325,7 +326,8 @@ func TestGetProfiles(t *testing.T) {
 
        mock.ExpectQuery("SELECT").WithArgs(pq.Array(profileNames), 
CacheMonitorConfigFile).WillReturnRows(rows)
 
-       dbCtx, _ := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       dbCtx, f := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       defer f()
        tx, err := db.BeginTx(dbCtx, nil)
        if err != nil {
                t.Fatalf("creating transaction: %v", err)
@@ -373,11 +375,6 @@ func TestGetDeliveryServices(t *testing.T) {
        db := sqlx.NewDb(mockDB, "sqlmock")
        defer db.Close()
 
-       router := Router{
-               Type:    RouterType,
-               Profile: "routerProfile",
-       }
-
        deliveryservice := DeliveryService{
                XMLID:              "myDsid",
                TotalTPSThreshold:  42.42,
@@ -386,7 +383,6 @@ func TestGetDeliveryServices(t *testing.T) {
        }
 
        deliveryservices := []DeliveryService{deliveryservice}
-       routers := []Router{router}
 
        mock.ExpectBegin()
        rows := sqlmock.NewRows([]string{"xml_id", "global_max_tps", 
"global_max_mbps"})
@@ -394,23 +390,22 @@ func TestGetDeliveryServices(t *testing.T) {
                rows = rows.AddRow(deliveryservice.XMLID, 
deliveryservice.TotalTPSThreshold, 
deliveryservice.TotalKBPSThreshold/KilobitsPerMegabit)
        }
 
-       profileNames := []string{router.Profile}
-
-       
mock.ExpectQuery("SELECT").WithArgs(pq.Array(profileNames)).WillReturnRows(rows)
+       mock.ExpectQuery("SELECT").WillReturnRows(rows)
 
-       dbCtx, _ := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       dbCtx, f := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       defer f()
        tx, err := db.BeginTx(dbCtx, nil)
        if err != nil {
                t.Fatalf("creating transaction: %v", err)
        }
 
-       sqlDeliveryservices, err := getDeliveryServices(tx, routers)
+       sqlDeliveryservices, err := getDeliveryServices(tx)
        if err != nil {
-               t.Errorf("getProfiles expected: nil error, actual: %v", err)
+               t.Errorf("getDeliveryServices expected: nil error, actual: %v", 
err)
        }
 
        if len(deliveryservices) != len(sqlDeliveryservices) {
-               t.Errorf("getProfiles expected: %+v actual: %+v", 
deliveryservices, sqlDeliveryservices)
+               t.Fatalf("getDeliveryServices expected: %+v actual: %+v", 
deliveryservices, sqlDeliveryservices)
        }
 
        for i, sqlDeliveryservice := range sqlDeliveryservices {
@@ -448,7 +443,8 @@ func TestGetConfig(t *testing.T) {
 
        mock.ExpectQuery("SELECT").WillReturnRows(rows)
 
-       dbCtx, _ := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       dbCtx, f := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       defer f()
        tx, err := db.BeginTx(dbCtx, nil)
        if err != nil {
                t.Fatalf("creating transaction: %v", err)
@@ -610,10 +606,6 @@ func TestGetMonitoringJSON(t *testing.T) {
                //
                // getDeliveryServices
                //
-               router := Router{
-                       Type:    RouterType,
-                       Profile: "routerProfile",
-               }
 
                deliveryservice := DeliveryService{
                        XMLID:              "myDsid",
@@ -630,9 +622,7 @@ func TestGetMonitoringJSON(t *testing.T) {
                        rows = rows.AddRow(deliveryservice.XMLID, 
deliveryservice.TotalTPSThreshold, 
deliveryservice.TotalKBPSThreshold/KilobitsPerMegabit)
                }
 
-               profileNames := []string{router.Profile}
-
-               
mock.ExpectQuery("SELECT").WithArgs(pq.Array(profileNames)).WillReturnRows(rows)
+               mock.ExpectQuery("SELECT").WillReturnRows(rows)
                resp.Response.DeliveryServices = deliveryservices
        }
        {
@@ -653,7 +643,8 @@ func TestGetMonitoringJSON(t *testing.T) {
                resp.Response.Config = config
        }
 
-       dbCtx, _ := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       dbCtx, f := context.WithTimeout(context.TODO(), 
time.Duration(10)*time.Second)
+       defer f()
        tx, err := db.BeginTx(dbCtx, nil)
        if err != nil {
                t.Fatalf("creating transaction: %v", err)
@@ -661,7 +652,7 @@ func TestGetMonitoringJSON(t *testing.T) {
 
        sqlResp, err := GetMonitoringJSON(tx, cdn)
        if err != nil {
-               t.Errorf("GetMonitoringJSON expected: nil error, actual: %v", 
err)
+               t.Fatalf("GetMonitoringJSON expected: nil error, actual: %v", 
err)
        }
 
        resp.Response.TrafficServers = sortCaches(resp.Response.TrafficServers)

Reply via email to