noblepaul commented on issue #1109: More pervasive use of PackageLoader / 
PluginInfo
URL: https://github.com/apache/lucene-solr/pull/1109#issuecomment-568812967
 
 
   Technically, Hot-reloading means reloading an object without restarting the 
JVM. So, it's OK to reload an object by reloading a core. 
   
   The problem with this PR is that it leaves the system in an inconsistent 
state. Consider the following scenario
   
   -  `ComponentX` uses `PackageA` `1.0`
   -  User updates `PackageA` to `2.0`
   - A core that got started after the package update uses `2.0` & all other 
cores use `1.0`
   
   We really cannot leave the system in an inconsistent state and say we will 
deal with the inconsistencies in another ticket.
   
   What is the solution?
   There are 2 ways to use packages. 
   
   1. Ensure that the plugin has true hot reloading. As it is done for the 
plugins we support today
   2. Or, we identify a list of plugins that do not need to be `hot-reloaded`. 
If a package is updated and such a plugin is using that package, we just reload 
the core
   
   Wherever possible we strive to implement option#1 because reloading cores 
can cause instability in the system & we try to minimize it as much as 
possible. If option#1 is not possible we MUST implement option#2. 
   
   
   

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to