Reset progress marker is under feature flag

This commit is contained in:
AlexeyBarabash
2021-03-19 17:28:19 +02:00
parent 9ab9c858c6
commit be9c9374a7
3 changed files with 45 additions and 0 deletions
@@ -7,12 +7,21 @@
#include <utility>
#include "base/feature_list.h"
#include "base/logging.h"
#include "base/metrics/histogram_functions.h"
#include "components/sync/engine/model_type_processor.h"
namespace syncer {
namespace features {
// Enables the option of resetting progress marker.
const base::Feature kBraveSyncResetProgressMarker{
"ResetProgressMarkerOnCommitFailures", base::FEATURE_ENABLED_BY_DEFAULT};
} // namespace features
namespace {
// Between each failed commit the timeout is randomly increased,
// see |BackoffDelayProvider|.
@@ -51,6 +60,10 @@ void BraveModelTypeWorker::OnCommitResponse(
ModelTypeWorker::OnCommitResponse(committed_response_list,
error_response_list);
if (!base::FeatureList::IsEnabled(features::kBraveSyncResetProgressMarker)) {
return;
}
if (IsResetProgressMarkerRequired(error_response_list)) {
ResetProgressMarker();
}
@@ -8,6 +8,7 @@
#include <memory>
#include "base/feature_list.h"
#include "components/sync/base/model_type.h"
#include "components/sync/base/passphrase_enums.h"
#include "components/sync/engine/commit_and_get_updates_types.h"
@@ -20,8 +21,16 @@ class Cryptographer;
class NudgeHandler;
class ModelTypeProcessor;
namespace features {
extern const base::Feature kBraveSyncResetProgressMarker;
} // namespace features
FORWARD_DECLARE_TEST(BraveModelTypeWorkerTest, ResetProgressMarker);
FORWARD_DECLARE_TEST(BraveModelTypeWorkerTest, ResetProgressMarkerMaxPeriod);
FORWARD_DECLARE_TEST(BraveModelTypeWorkerTest,
ResetProgressMarkerDisabledFeature);
class BraveModelTypeWorker : public ModelTypeWorker {
public:
@@ -41,6 +50,8 @@ class BraveModelTypeWorker : public ModelTypeWorker {
FRIEND_TEST_ALL_PREFIXES(BraveModelTypeWorkerTest, ResetProgressMarker);
FRIEND_TEST_ALL_PREFIXES(BraveModelTypeWorkerTest,
ResetProgressMarkerMaxPeriod);
FRIEND_TEST_ALL_PREFIXES(BraveModelTypeWorkerTest,
ResetProgressMarkerDisabledFeature);
void OnCommitResponse(
const CommitResponseDataList& committed_response_list,
@@ -8,6 +8,7 @@
#include <utility>
#include "base/bind.h"
#include "base/test/scoped_feature_list.h"
#include "base/time/time_override.h"
#include "components/sync/engine_impl/cancelation_signal.h"
#include "components/sync/nigori/cryptographer_impl.h"
@@ -193,4 +194,24 @@ TEST_F(BraveModelTypeWorkerTest, ResetProgressMarkerMaxPeriod) {
EXPECT_FALSE(IsProgressMarkerEmpty());
}
TEST_F(BraveModelTypeWorkerTest, ResetProgressMarkerDisabledFeature) {
base::test::ScopedFeatureList feature_list;
feature_list.InitAndDisableFeature(features::kBraveSyncResetProgressMarker);
NormalInitialize();
auto error_response_list =
MakeErrorResponseList(CommitResponse_ResponseType_CONFLICT);
for (size_t i = 0;
i < BraveModelTypeWorker::GetFailuresToResetMarkerForTests() - 1; ++i) {
worker()->OnCommitResponse(CommitResponseDataList(), error_response_list);
EXPECT_FALSE(IsProgressMarkerEmpty());
}
// Expect reset progress marker types does not happened, because
// we have disabled feature
worker()->OnCommitResponse(CommitResponseDataList(), error_response_list);
EXPECT_FALSE(IsProgressMarkerEmpty());
}
} // namespace syncer