andyvuong commented on a change in pull request #1223: SOLR-14213: Configuring 
Solr Cloud to use Shared Storage
URL: https://github.com/apache/lucene-solr/pull/1223#discussion_r383548881
 
 

 ##########
 File path: 
solr/core/src/java/org/apache/solr/store/shared/SharedStoreManager.java
 ##########
 @@ -43,68 +43,38 @@
 
   public SharedStoreManager(ZkController controller) {
     zkController = controller;
-    // initialize BlobProcessUtil with the SharedStoreManager for background 
processes to be ready
-    blobProcessUtil = new BlobProcessUtil(zkController.getCoreContainer());
-    blobCoreSyncer = new BlobCoreSyncer();
-    sharedCoreConcurrencyController = new 
SharedCoreConcurrencyController(zkController.getCoreContainer());
-  }
-  
-  @VisibleForTesting
-  public void initBlobStorageProvider(BlobStorageProvider blobStorageProvider) 
{
-    this.blobStorageProvider = blobStorageProvider;
-  }
-  
-  @VisibleForTesting
-  public void initBlobProcessUtil(BlobProcessUtil processUtil) {
-    if (blobProcessUtil != null) {
-      blobProcessUtil.shutdown();
-    }
-    blobProcessUtil = processUtil;
+    blobStorageProvider = new BlobStorageProvider();
+    blobDeleteManager = new 
BlobDeleteManager(getBlobStorageProvider().getClient());
+    corePullTracker = new CorePullTracker();
+    sharedShardMetadataController = new 
SharedShardMetadataController(zkController.getSolrCloudManager());
+    sharedCoreConcurrencyController = new 
SharedCoreConcurrencyController(sharedShardMetadataController);
   }
   
-  /*
-   * Initiates a SharedShardMetadataController if it doesn't exist and returns 
one 
+  /**
+   * Start blob processes that depend on an initiated SharedStoreManager
    */
+  public void load() {
+    blobCoreSyncer = new BlobCoreSyncer();
 
 Review comment:
   For the first problem, there are shared storage components that have 
corecontainer injected explicitly in their api methods or via other 
dependencies that have getters opening access to it (zkcontroller for example). 
There are also shared storage components that have it injected in the 
constructor. Thinking about and looking at it again, it's kind of a mess 
identifying the initialization flows/orders and I might need to refactor a 
bunch of things here for better consistency

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to