From 57f32e6d1feb8f9aa10e9af6f15e1abb6c26c44a Mon Sep 17 00:00:00 2001 From: Sandeep Sukhani Date: Wed, 24 Jun 2020 16:42:05 +0530 Subject: [PATCH 1/3] rename purger target flag Signed-off-by: Sandeep Sukhani --- pkg/cortex/modules.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/cortex/modules.go b/pkg/cortex/modules.go index f1b97345c7a..4d2c6db2bdc 100644 --- a/pkg/cortex/modules.go +++ b/pkg/cortex/modules.go @@ -60,7 +60,7 @@ const ( Compactor string = "compactor" StoreGateway string = "store-gateway" MemberlistKV string = "memberlist-kv" - Purger string = "data-purger" + Purger string = "purger" All string = "all" ) From a8843b5890de29d7bd13bd66636a35743363b414 Mon Sep 17 00:00:00 2001 From: Sandeep Sukhani Date: Wed, 24 Jun 2020 16:42:24 +0530 Subject: [PATCH 2/3] fix a flaky test in purger Signed-off-by: Sandeep Sukhani --- pkg/chunk/purger/purger_test.go | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/pkg/chunk/purger/purger_test.go b/pkg/chunk/purger/purger_test.go index 15f3ce3d721..e73d1044148 100644 --- a/pkg/chunk/purger/purger_test.go +++ b/pkg/chunk/purger/purger_test.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "sort" - "strings" "testing" "time" @@ -392,27 +391,7 @@ func TestPurger_Metrics(t *testing.T) { chunkStore.Stop() }() - // start loop to load requests - require.NoError(t, services.StartAndAwaitRunning(context.Background(), purger)) - - // no delete requests for processing so age and pending request is 0 while we have successfully attempted loading request once. - require.NoError(t, testutil.GatherAndCompare(registry, strings.NewReader( - ` - # HELP cortex_purger_load_pending_requests_attempts_total Number of attempts that were made to load pending requests with status - # TYPE cortex_purger_load_pending_requests_attempts_total counter - cortex_purger_load_pending_requests_attempts_total{status="success"} 1 - # HELP cortex_purger_oldest_pending_delete_request_age_seconds Age of oldest pending delete request in seconds - # TYPE cortex_purger_oldest_pending_delete_request_age_seconds gauge - cortex_purger_oldest_pending_delete_request_age_seconds 0 - # HELP cortex_purger_pending_delete_requests_count Count of requests which are in process or are ready to be processed - # TYPE cortex_purger_pending_delete_requests_count gauge - cortex_purger_pending_delete_requests_count 0 - `), - "cortex_purger_load_pending_requests_attempts_total", - "cortex_purger_oldest_pending_delete_request_age_seconds", - "cortex_purger_pending_delete_requests_count", - )) - + // add delete requests without starting purger loops to load and process delete requests. // add delete request whose createdAt is now err := deleteStore.AddDeleteRequest(context.Background(), userID, model.Time(0).Add(24*time.Hour), model.Time(0).Add(2*24*time.Hour), []string{"foo"}) @@ -435,6 +414,9 @@ func TestPurger_Metrics(t *testing.T) { require.InDelta(t, float64(3*86400), testutil.ToFloat64(purger.metrics.oldestPendingDeleteRequestAgeSeconds), 1) require.Equal(t, float64(2), testutil.ToFloat64(purger.metrics.pendingDeleteRequestsCount)) + // start loop to process requests + require.NoError(t, services.StartAndAwaitRunning(context.Background(), purger)) + // wait until purger_delete_requests_processed_total starts to show up. test.Poll(t, 2*time.Second, 1, func() interface{} { count, err := testutil.GatherAndCount(registry, "cortex_purger_delete_requests_processed_total") From 6b66be21453c611bfdaee8848089954234b7bb7a Mon Sep 17 00:00:00 2001 From: Sandeep Sukhani Date: Wed, 24 Jun 2020 16:51:54 +0530 Subject: [PATCH 3/3] update changelog Signed-off-by: Sandeep Sukhani --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4997a3176f..1afe4e61efe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,9 +50,10 @@ * [CHANGE] Available command-line flags are printed to stdout, and only when requested via `-help`. Using invalid flag no longer causes printing of all available flags. #2691 * [CHANGE] Experimental Memberlist ring: randomize gossip node names to avoid conflicts when running multiple clients on the same host, or reusing host names (eg. pods in statefulset). Node name randomization can be disabled by using `-memberlist.randomize-node-name=false`. #2715 * [CHANGE] Memberlist KV client is no longer considered experimental. #2725 -* [CHANGE] Change target flag for purger from `data-purger` to `purger` and make delete request cancellation duration configurable. #2760 +* [CHANGE] Experimental Delete Series: Make delete request cancellation duration configurable. #2760 * [CHANGE] Removed `-store.fullsize-chunks` option which was undocumented and unused (it broke ingester hand-overs). #2656 * [CHANGE] Query with no metric name that has previously resulted in HTTP status code 500 now returns status code 422 instead. #2571 +* [CHANGE] Experimental Delete Series: Change target flag for purger from `data-purger` to `purger`. #2777 * [FEATURE] TLS config options added for GRPC clients in Querier (Query-frontend client & Ingester client), Ruler, Store Gateway, as well as HTTP client in Config store client. #2502 * [FEATURE] The flag `-frontend.max-cache-freshness` is now supported within the limits overrides, to specify per-tenant max cache freshness values. The corresponding YAML config parameter has been changed from `results_cache.max_freshness` to `limits_config.max_cache_freshness`. The legacy YAML config parameter (`results_cache.max_freshness`) will continue to be supported till Cortex release `v1.4.0`. #2609 * [FEATURE] Experimental gRPC Store: Added support to 3rd parties index and chunk stores using gRPC client/server plugin mechanism. #2220