Example #1
0
        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);
        }
Example #2
0
 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);
     }
 }
Example #3
0
 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);
     }
 }
Example #4
0
		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);
			}

		}
Example #5
0
		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);
			}
		}
Example #6
0
		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;
		}
Example #7
0
		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);
			}
		}
Example #8
0
        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);
            }
        }