Skip to content

Commit

Permalink
RavenDB-22835 : cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
aviv committed Oct 9, 2024
1 parent ae55f14 commit 8db5a7a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 64 deletions.
17 changes: 0 additions & 17 deletions src/Raven.Server/Documents/CountersStorage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using NetTopologySuite.Utilities;
using Raven.Client.Documents.Changes;
using Raven.Client.Documents.Operations.Counters;
using Raven.Client.Exceptions.Documents.Counters;
Expand Down Expand Up @@ -1163,8 +1162,6 @@ public bool PutCounters(DocumentsOperationContext context, string documentId, st
}
}

public List<string> BadCountersList = new List<string>();

public bool CheckIfWeHaveBadCounters()
{
using (_documentsStorage.ContextPool.AllocateOperationContext(out DocumentsOperationContext context))
Expand Down Expand Up @@ -1198,19 +1195,6 @@ public bool CheckIfWeHaveBadCounters()
return false;
}

public long FixCounters()
{
using (_documentsStorage.ContextPool.AllocateOperationContext(out DocumentsOperationContext context))
using (var tx = context.OpenWriteTransaction())
{
var result = FixCountersForDocument(context, "drivers/519276");
tx.Commit();
return result;
}
}

public int NumOfCounterGroupsFixed = 0;

public int FixCountersForDocument(DocumentsOperationContext context, string documentId)
{
List<string> allNames = null;
Expand Down Expand Up @@ -1319,7 +1303,6 @@ public int FixCountersForDocument(DocumentsOperationContext context, string docu
}

numOfCounterGroupFixed++;
NumOfCounterGroupsFixed++;
}
}
}
Expand Down
56 changes: 20 additions & 36 deletions src/Raven.Server/Documents/Handlers/CountersHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Raven.Client;
using Raven.Client.Documents.Changes;
Expand All @@ -19,7 +18,6 @@
using Raven.Client.Exceptions.Documents.Counters;
using Raven.Client.Http;
using Raven.Client.Json.Serialization;
using Raven.Server.Documents.Handlers.Admin;
using Raven.Server.Routing;
using Raven.Server.ServerWide.Context;
using Raven.Server.TrafficWatch;
Expand Down Expand Up @@ -789,14 +787,8 @@ protected override long ExecuteCmd(DocumentsOperationContext context)
[RavenAction("/databases/*/counters/fix", "PATCH", AuthorizationStatus.ValidUser, EndpointType.Write)]
public async Task FixCounterGroups()
{
//var docId = GetStringQueryString("id");
var first = GetBoolValueQueryString("first", required: false) ?? true;

var task = FixAllCounterGroups();
//Database.TxMerger.Enqueue(new ExecuteFixCounterGroupsCommand(Database, docId));

// todo remove
await task;

if (first == false)
{
Expand All @@ -807,41 +799,35 @@ public async Task FixCounterGroups()

var tasks = new List<Task> { task };
var toDispose = new List<IDisposable>();

using (ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context))
using (context.OpenReadTransaction())
try
{
foreach (var node in ServerStore.GetClusterTopology(context).AllNodes)
using (ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context))
using (context.OpenReadTransaction())
{
if (node.Value == Server.WebUrl)
continue;

var requestExecutor = ClusterRequestExecutor.CreateForShortTermUse(node.Value, Server.Certificate.Certificate, DocumentConventions.DefaultForServer);
toDispose.Add(requestExecutor);

var cmd = new FixCounterGroupsCommand(Database.Name);
foreach (var node in ServerStore.GetClusterTopology(context).AllNodes)
{
if (node.Value == Server.WebUrl)
continue;

var requestExecutor = ClusterRequestExecutor.CreateForShortTermUse(node.Value, Server.Certificate.Certificate, DocumentConventions.DefaultForServer);
toDispose.Add(requestExecutor);

// todo remove
Task t = Task.Run(async () => await requestExecutor.ExecuteAsync(cmd, context));
tasks.Add(t);
await t;
///

//tasks.Add(requestExecutor.ExecuteAsync(cmd, context));
var cmd = new FixCounterGroupsCommand(Database.Name);
tasks.Add(requestExecutor.ExecuteAsync(cmd, context));
}
}
}


await Task.WhenAll(tasks);
foreach (var disposable in toDispose)
await Task.WhenAll(tasks);
await NoContent();
}
finally
{
disposable.Dispose();
foreach (var disposable in toDispose)
{
disposable.Dispose();
}
}

Console.WriteLine("num of counters fixed: " + Database.DocumentsStorage.CountersStorage.NumOfCounterGroupsFixed);

await NoContent();
}

private async Task FixAllCounterGroups()
Expand Down Expand Up @@ -869,12 +855,10 @@ private async Task FixAllCounterGroups()
private class FixCounterGroupsCommand : RavenCommand
{
private readonly string _database;
//private readonly string _docId;

public FixCounterGroupsCommand(string database)
{
_database = database;
//_docId = docId;
}

public override bool IsReadRequest => false;
Expand Down
12 changes: 1 addition & 11 deletions test/SlowTests/Issues/RavenDB_22835.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ public async Task SplittingCountersManyTimes_ShouldNotCauseErrorsDuringImport()
}

// starting import 1
Console.WriteLine("starting import 1");

var temp1 = GetTempFileName();
var export = await store.Smuggler.ExportAsync(new DatabaseSmugglerExportOptions(), temp1);
await export.WaitForCompletionAsync(TimeSpan.FromMinutes(10));
Expand All @@ -71,13 +69,9 @@ public async Task SplittingCountersManyTimes_ShouldNotCauseErrorsDuringImport()
await import.WaitForCompletionAsync(TimeSpan.FromMinutes(10));

// import 1 went well, now adding more counters to this doc
Console.WriteLine("import 1 went well, now adding more counters to this doc ");

AddMoreCountersForDoc(store2, rand, id);

// starting import 2
Console.WriteLine("starting import 2");

var temp2 = GetTempFileName();
export = await store2.Smuggler.ExportAsync(new DatabaseSmugglerExportOptions(), temp2);
await export.WaitForCompletionAsync(TimeSpan.FromMinutes(10));
Expand All @@ -87,12 +81,9 @@ public async Task SplittingCountersManyTimes_ShouldNotCauseErrorsDuringImport()
await import.WaitForCompletionAsync(TimeSpan.FromMinutes(10));

// import 2 went well, now adding more counters to this doc
Console.WriteLine("import 2 went well, now adding more counters to this doc ");

AddMoreCountersForDoc(store3, rand, id);

// all good - no exception was thrown during imports or when adding new counters
Console.WriteLine("all good");
}

[Fact]
Expand Down Expand Up @@ -370,7 +361,6 @@ public async Task FixCorruptedCounterData_MultipleDocs()
}
}

session.Advanced.WaitForReplicationAfterSaveChanges(replicas: 2);
session.SaveChanges();
}

Expand Down Expand Up @@ -441,7 +431,7 @@ public async Task FixCorruptedCounterData_MultipleDocs()
}
}

private unsafe void CorruptCountersData(DocumentDatabase database, string? id = null)
private unsafe void CorruptCountersData(DocumentDatabase database, string id = null)
{
using (database.DocumentsStorage.ContextPool.AllocateOperationContext(out DocumentsOperationContext context))
using (context.OpenReadTransaction())
Expand Down

0 comments on commit 8db5a7a

Please sign in to comment.