public ITransactionalStorage NewTransactionalStorage() { ITransactionalStorage newTransactionalStorage; string storageType = null; if (!string.IsNullOrEmpty(System.Environment.GetEnvironmentVariable("raventest_storage_engine"))) { storageType = System.Environment.GetEnvironmentVariable("raventest_storage_engine"); } else { storageType = System.Configuration.ConfigurationManager.AppSettings["Raven/StorageEngine"]; } if (storageType == "munin") { newTransactionalStorage = new Raven.Storage.Managed.TransactionalStorage(new RavenConfiguration { DataDirectory = DbDirectory, }, () => { }); } else { newTransactionalStorage = new Raven.Storage.Esent.TransactionalStorage(new RavenConfiguration { DataDirectory = DbDirectory, }, () => { }); } newTransactionalStorage.Initialize(new DummyUuidGenerator(), new OrderedPartCollection <AbstractDocumentCodec>()); return(newTransactionalStorage); }
public void Munin_when_there_are_multiple_map_results_and_we_ask_for_results() { using (var transactionalStorage = new MuninTransactionalStorage(new RavenConfiguration { DataDirectory = "Test" }, () => { })) { when_there_are_multiple_map_results_and_we_ask_for_results(transactionalStorage); } }
public void Munin_when_there_are_updates_to_map_reduce_results() { using (var transactionalStorage = new MuninTransactionalStorage(new RavenConfiguration { DataDirectory = "Test" }, () => { })) { when_there_are_updates_to_map_reduce_results(transactionalStorage); } }
public void Munin_when_there_are_multiple_map_results_for_multiple_indexes() { using (var transactionalStorage = new MuninTransactionalStorage(new RavenConfiguration { DataDirectory = "Test" }, () => { })) { when_there_are_multiple_map_results_for_multiple_indexes(transactionalStorage); } }
private static void MyTest() { var tx = new Raven.Storage.Managed.TransactionalStorage(new RavenConfiguration { RunInMemory = true }, () => { }); tx.Initialize(new DummyUuidGenerator(), new OrderedPartCollection<AbstractDocumentCodec>()); for (int xi = 0; xi < 5; xi++) { var wait = xi; Task.Factory.StartNew(() => { Thread.Sleep(15*wait); tx.Batch(accessor => { var reduceKeysAndBuckets = new List<ReduceKeyAndBucket>(); for (int i = 0; i < 10; i++) { var docId = "users/" + i; reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "1")); reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "2")); accessor.MapReduce.PutMappedResult("test", docId, "1", new RavenJObject()); accessor.MapReduce.PutMappedResult("test", docId, "2", new RavenJObject()); } accessor.MapReduce.ScheduleReductions("test", 0, reduceKeysAndBuckets); }); }); Task.Factory.StartNew(() => { Thread.Sleep(15 * wait); tx.Batch(accessor => { var reduceKeysAndBuckets = new List<ReduceKeyAndBucket>(); for (int i = 0; i < 10; i++) { var docId = "users/" + i; reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "1")); reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "2")); accessor.MapReduce.PutMappedResult("test3", docId, "1", new RavenJObject()); accessor.MapReduce.PutMappedResult("test3", docId, "2", new RavenJObject()); } accessor.MapReduce.ScheduleReductions("test3", 0, reduceKeysAndBuckets); }); }); } var items = 0; while (items != 100) { var itemsToDelete = new List<object>(); tx.Batch(accessor => { var list = accessor.MapReduce.GetItemsToReduce( index: "test", level: 0, take: 256, itemsToDelete: itemsToDelete ).ToList(); items += list.Count; Console.WriteLine(list.Count); }); tx.Batch(accessor => { accessor.MapReduce.DeleteScheduledReduction(itemsToDelete); }); Thread.Sleep(10); } }
public ITransactionalStorage NewTransactionalStorage() { ITransactionalStorage newTransactionalStorage; string storageType = null; if (!string.IsNullOrEmpty(System.Environment.GetEnvironmentVariable("raventest_storage_engine"))) storageType = System.Environment.GetEnvironmentVariable("raventest_storage_engine"); else storageType = System.Configuration.ConfigurationManager.AppSettings["Raven/StorageEngine"]; if (storageType == "munin") newTransactionalStorage = new Raven.Storage.Managed.TransactionalStorage(new RavenConfiguration { DataDirectory = DbDirectory, }, () => { }); else newTransactionalStorage = new Raven.Storage.Esent.TransactionalStorage(new RavenConfiguration { DataDirectory = DbDirectory, }, () => { }); newTransactionalStorage.Initialize(new DummyUuidGenerator(), new OrderedPartCollection<AbstractDocumentCodec>()); return newTransactionalStorage; }
private static void MyTest() { var tx = new Raven.Storage.Managed.TransactionalStorage(new RavenConfiguration { RunInMemory = true }, () => { }); tx.Initialize(new DummyUuidGenerator(), new OrderedPartCollection <AbstractDocumentCodec>()); for (int xi = 0; xi < 5; xi++) { var wait = xi; Task.Factory.StartNew(() => { Thread.Sleep(15 * wait); tx.Batch(accessor => { var reduceKeysAndBuckets = new List <ReduceKeyAndBucket>(); for (int i = 0; i < 10; i++) { var docId = "users/" + i; reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "1")); reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "2")); accessor.MapReduce.PutMappedResult("test", docId, "1", new RavenJObject()); accessor.MapReduce.PutMappedResult("test", docId, "2", new RavenJObject()); } accessor.MapReduce.ScheduleReductions("test", 0, reduceKeysAndBuckets); }); }); Task.Factory.StartNew(() => { Thread.Sleep(15 * wait); tx.Batch(accessor => { var reduceKeysAndBuckets = new List <ReduceKeyAndBucket>(); for (int i = 0; i < 10; i++) { var docId = "users/" + i; reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "1")); reduceKeysAndBuckets.Add(new ReduceKeyAndBucket(IndexingUtil.MapBucket(docId), "2")); accessor.MapReduce.PutMappedResult("test3", docId, "1", new RavenJObject()); accessor.MapReduce.PutMappedResult("test3", docId, "2", new RavenJObject()); } accessor.MapReduce.ScheduleReductions("test3", 0, reduceKeysAndBuckets); }); }); } var items = 0; while (items != 100) { var itemsToDelete = new List <object>(); tx.Batch(accessor => { var list = accessor.MapReduce.GetItemsToReduce( index: "test", level: 0, take: 256, itemsToDelete: itemsToDelete ).ToList(); items += list.Count; Console.WriteLine(list.Count); }); tx.Batch(accessor => { accessor.MapReduce.DeleteScheduledReduction(itemsToDelete); }); Thread.Sleep(10); } }