示例#1
0
        public DIIgniteServers()
        {
            // Create a set of mocked configurations for caches the servers was want
            var mockedConfigs = new List <CacheConfiguration>
            {
                new CacheConfiguration(TRexCaches.MutableNonSpatialCacheName()),
                new CacheConfiguration(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable)),
                new CacheConfiguration(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable)),
                new CacheConfiguration(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable)),
                new CacheConfiguration(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable)),
                new CacheConfiguration(TRexCaches.ImmutableNonSpatialCacheName()),
                new CacheConfiguration(TRexCaches.SiteModelMetadataCacheName()),
                new CacheConfiguration(TRexCaches.DesignTopologyExistenceMapsCacheName()),
                new CacheConfiguration(TRexCaches.TAGFileBufferQueueCacheName()),
                new CacheConfiguration(TRexCaches.SegmentRetirementQueueCacheName()),
                new CacheConfiguration(TRexCaches.SiteModelChangeBufferQueueCacheName()),
                new CacheConfiguration(TRexCaches.ProductionDataExistenceMapCacheName(StorageMutability.Mutable)),
                new CacheConfiguration(TRexCaches.ProductionDataExistenceMapCacheName(StorageMutability.Mutable))
            };

            var igniteConfiguration = new IgniteConfiguration
            {
                CacheConfiguration = mockedConfigs
            };

            // Get the mocked Ignite instance and add the configuration to it
            IgniteMock.Immutable.mockIgnite.Setup(x => x.GetConfiguration()).Returns(igniteConfiguration);
            IgniteMock.Mutable.mockIgnite.Setup(x => x.GetConfiguration()).Returns(igniteConfiguration);
        }
示例#2
0
        public override void ConfigureNonSpatialMutableCache(CacheConfiguration cfg)
        {
            base.ConfigureNonSpatialMutableCache(cfg);

            cfg.Name = TRexCaches.MutableNonSpatialCacheName();
            cfg.KeepBinaryInStore = true;
            cfg.CacheMode         = CacheMode.Partitioned;
            cfg.AffinityFunction  = new MutableNonSpatialAffinityFunction();
            cfg.Backups           = 0;

            // cfg.CopyOnRead = false;   Leave as default as should have no effect with 2.1+ without on heap caching enabled
        }
示例#3
0
        public ICache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper> InstantiateNonSpatialCacheReference()
        {
            var cfg = new CacheConfiguration();

            base.ConfigureNonSpatialMutableCache(cfg);

            cfg.Name = TRexCaches.MutableNonSpatialCacheName();
            cfg.KeepBinaryInStore = true;
            cfg.CacheMode         = CacheMode.Partitioned;
            cfg.AffinityFunction  = new MutableNonSpatialAffinityFunction();
            cfg.Backups           = 0;

            return(mutableTRexGrid.GetOrCreateCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>(cfg));
        }
示例#4
0
 public void NonNullNames()
 {
     TRexCaches.DesignTopologyExistenceMapsCacheName().Should().NotBeNullOrWhiteSpace();
     TRexCaches.ImmutableNonSpatialCacheName().Should().NotBeNullOrWhiteSpace();
     TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable).Should().NotBeNullOrWhiteSpace();
     TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable).Should().NotBeNullOrWhiteSpace();
     TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable).Should().NotBeNullOrWhiteSpace();
     TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable).Should().NotBeNullOrWhiteSpace();
     TRexCaches.MutableNonSpatialCacheName().Should().NotBeNullOrWhiteSpace();
     TRexCaches.SegmentRetirementQueueCacheName().Should().NotBeNullOrWhiteSpace();
     TRexCaches.SiteModelMetadataCacheName().Should().NotBeNullOrWhiteSpace();
     TRexCaches.SiteModelsCacheName(StorageMutability.Immutable).Should().NotBeNullOrWhiteSpace();
     TRexCaches.SiteModelsCacheName(StorageMutability.Mutable).Should().NotBeNullOrWhiteSpace();
     TRexCaches.TAGFileBufferQueueCacheName().Should().NotBeNullOrWhiteSpace();
     TRexCaches.SiteModelChangeMapsCacheName().Should().NotBeNullOrWhiteSpace();
     TRexCaches.ProductionDataExistenceMapCacheName(StorageMutability.Immutable).Should().NotBeNullOrWhiteSpace();
     TRexCaches.ProductionDataExistenceMapCacheName(StorageMutability.Mutable).Should().NotBeNullOrWhiteSpace();
 }
示例#5
0
        public void dumpKeysToFile(StorageMutability mutability, string fileName)
        {
            try
            {
                var ignite = DIContext.Obtain <ITRexGridFactory>()?.Grid(mutability);

                if (ignite == null)
                {
                    Console.WriteLine($@"----> No ignite reference for {TRexGrids.GridName(mutability)} grid");
                    return;
                }

                using (var outFile = new FileStream(fileName, FileMode.Create))
                {
                    using (var writer = new StreamWriter(outFile)
                    {
                        NewLine = "\r\n"
                    })
                    {
                        if (mutability == StorageMutability.Immutable)
                        {
                            Console.WriteLine($"----> Writing keys for {TRexCaches.ImmutableNonSpatialCacheName()}");
                            try
                            {
                                writeKeys(TRexCaches.ImmutableNonSpatialCacheName(), writer, ignite.GetCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.ImmutableNonSpatialCacheName()));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }

                            Console.WriteLine($"----> Writing keys for {TRexCaches.DesignTopologyExistenceMapsCacheName()}");
                            try
                            {
                                writeKeys(TRexCaches.DesignTopologyExistenceMapsCacheName(), writer, ignite.GetCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.DesignTopologyExistenceMapsCacheName()));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }

                            Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable)}");
                            try
                            {
                                WriteKeysSpatial(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable)));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }

                            Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable)}");
                            try
                            {
                                WriteKeysSpatial(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable)));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }

                            Console.WriteLine($"----> Writing keys for {TRexCaches.SiteModelChangeMapsCacheName()}");
                            try
                            {
                                writeSiteModelChangeMapQueueKeys(TRexCaches.SiteModelChangeMapsCacheName(), writer, ignite.GetCache <ISiteModelMachineAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SiteModelChangeMapsCacheName()));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }
                        }

                        if (mutability == StorageMutability.Mutable)
                        {
                            Console.WriteLine($"----> Writing keys for {TRexCaches.MutableNonSpatialCacheName()}");
                            try
                            {
                                writeKeys(TRexCaches.MutableNonSpatialCacheName(), writer, ignite.GetCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.MutableNonSpatialCacheName()));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }

                            Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable)}");
                            try
                            {
                                WriteKeysSpatial(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable)));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }

                            Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable)}");
                            try
                            {
                                WriteKeysSpatial(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable)));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }


                            Console.WriteLine($"----> Writing keys for {TRexCaches.TAGFileBufferQueueCacheName()}");
                            try
                            {
                                writeTAGFileBufferQueueKeys(TRexCaches.TAGFileBufferQueueCacheName(), writer, ignite.GetCache <ITAGFileBufferQueueKey, TAGFileBufferQueueItem>(TRexCaches.TAGFileBufferQueueCacheName()));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }

                            Console.WriteLine($"----> Writing keys for {TRexCaches.SegmentRetirementQueueCacheName()}");
                            try
                            {
                                writeSegmentRetireeQueueKeys(TRexCaches.SegmentRetirementQueueCacheName(), writer, ignite.GetCache <ISegmentRetirementQueueKey, SegmentRetirementQueueItem>(TRexCaches.SegmentRetirementQueueCacheName()));
                            }
                            catch (Exception E)
                            {
                                writer.WriteLine($"Exception occurred: {E.Message}");
                            }
                        }
                    }
                }
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.ToString());
            }
        }