Kirk Lund created GEODE-6562: -------------------------------- Summary: Locator.startLocatorAndDS creates two DistributedSystem connections when ALLOW_MULTIPLE_SYSTEMS is true Key: GEODE-6562 URL: https://issues.apache.org/jira/browse/GEODE-6562 Project: Geode Issue Type: Bug Components: core Reporter: Kirk Lund
This is observable with MultipleCacheJUnitTest: {noformat} 1: @Before 2: public void startLocator() throws IOException { 3: InternalDistributedSystem.ALLOW_MULTIPLE_SYSTEMS = true; 4: locator = Locator.startLocatorAndDS(0, locatorFolder.newFile("locator.log"), null); 5: props = new Properties(); 6: props.setProperty(ConfigurationProperties.LOCATORS, "locahost[" + locator.getPort() + "]"); 7: } {noformat} InternalLocator.startDistributedSystem() creates a DS connection and then passes it to startCache: {noformat} 597: private void startDistributedSystem() throws UnknownHostException { ... 648: this.myDs = (InternalDistributedSystem) DistributedSystem.connect(connectEnv); ... 661: startCache(myDs); {noformat} But then InternalLocator.startCache(DistributedSystem) creates a new Cache without using the DistributedSystem passed in (it only uses its properties): {noformat} 670: private void startCache(DistributedSystem ds) { ... 674: this.myCache = (InternalCache) new CacheFactory(ds.getProperties()).create(); {noformat} Because of the way that CacheFactory was implemented to support ALLOW_MULTIPLE_SYSTEMS, it always creates a new instance of DistributedSystem. That old behavior was carried forward to the new InternalCacheBuilder. -- This message was sent by Atlassian JIRA (v7.6.3#76005)