Hello everyone, I hope this message finds you well.
I am reaching out to highlight some critical issues I've encountered with Solr coordinators in version 9.7 and above. These issues appear to be more complex than I can address alone, and I believe they warrant a broader discussion. Key Issues: Broken Reload Functionality: The reload function for Solr coordinators is currently completely broken. This issue prevents updates to the core's configuration, requiring manual deletion and addition of cores, which might result in significant downtime for some users. The problem manifests in two ways: Reload Functionality at the Synthetic Core Level: This feature is broken, rendering it impossible to reload cores effectively. currently, any reload request sent to the core level will result in ERROR 500. for example, I run this locally on a cloud with 2 data nodes and one coordinator. http://localhost:8983/solr/admin/cores?core=.sys.COORDINATOR-COLL-_default_core&action=reload and it failed returning: { "responseHeader":{ "status":500, "QTime":792 }, "error":{ "metadata":["error-class","org.apache.solr.common.SolrException","root-error-class","org.apache.solr.common.SolrException"], "msg":"Unable to reload core [.sys.COORDINATOR-COLL-_default_core]", "trace":"org.apache.solr.common.SolrException: Unable to reload core [.sys.COORDINATOR-COLL-_default_core]\r\n\tat org.apache.solr.core.CoreContainer.reload(CoreContainer.java:2101)\r\n\tat ... org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)\r\n\tat java.base/java.lang.Thread.run(Thread.java:840)\r\nCaused by: org.apache.solr.common.SolrException: Failed to load config name for collection:.sys.COORDINATOR-COLL-_default_core due to: \r\n\tat org.apache.solr.core.SolrCore.<init>(SolrCore.java:1225)\r\n\tat org.apache.solr.core.SolrCore.reload(SolrCore.java:787)\r\n\tat org.apache.solr.core.CoreContainer.reload(CoreContainer.java:2053)\r\n\t... 59 more\r\nCaused by: org.apache.solr.common.SolrException: Failed to load config name for collection:.sys.COORDINATOR-COLL-_default_core due to: \r\n\tat org.apache.solr.rest.ManagedResourceStorage.newStorageIO(ManagedResourceStorage.java:104)\r\n\tat org.apache.solr.core.SolrCore.initRestManager(SolrCore.java:3230)\r\n\tat org.apache.solr.core.SolrCore.<init>(SolrCore.java:1176)\r\n\t... 61 more\r\nCaused by: org.apache.solr.common.SolrException: Could not find collection : .sys.COORDINATOR-COLL-_default_core\r\n\tat org.apache.solr.common.cloud.ClusterState.getCollection(ClusterState.java:125)\r\n\tat org.apache.solr.rest.ManagedResourceStorage.newStorageIO(ManagedResourceStorage.java:101)\r\n\t... 63 more\r\n", "code":500 } } more details can be found on jira https://issues.apache.org/jira/browse/SOLR-17386 No Bulk Update Capability: There is no mechanism to update all cores with a single request, complicating management and updates. Limited Request Handler Support: Coordinators currently only support the /select request handler. This limitation prevents users from implementing or benefiting from other request handlers, significantly restricting functionality. more details can be found on jira https://issues.apache.org/jira/browse/SOLR-17387 Proposed Solutions: Fix the Reload Functionality: Addressing the reload functionality is crucial and likely the most complex aspect of this issue. I believe this is a blocker and would appreciate guidance or assistance from the community on how to proceed with this fix. Implement Bulk Management API: Introducing an API to manage coordinators as a group would greatly enhance usability. The proposed API endpoints could include: solr/admin/coordinator?action=createcores&configset=config&nodes=nodes: Creates cores with the specified config set on all coordinators listed in Zookeeper under /roles or a specified list. solr/admin/coordinator?action=reloadcores&configset=config&nodes=nodes: Reloads cores with the specified config set on all coordinators listed in Zookeeper under /roles or a specified list. solr/admin/coordinator?action=deletecores&configset=config&nodes=nodes: Deletes cores with the specified config set from all coordinators listed in Zookeeper under /roles or a specified list. Enhance Request Handler Support: I propose allowing users to specify which request handlers coordinators should support via solrconfig. This would enable support for custom request handlers without impacting existing functionality. I sent a mail about it to the user mailing list a while ago and didn't recive a response, so i decided to give it a go myself. I am currently working on a pull request for this feature and hope it will address the need effectively. more details can be found on jira https://issues.apache.org/jira/browse/SOLR-17388, or in the relevant mail https://lists.apache.org/thread/9bg23vx96k8t5jhhcgzrv4lxd9gbzo10 Summary The most pressing issue is the non-functional reload feature, which severely hampers core management and configuration updates. I would greatly appreciate any input or assistance on how to resolve this issue. Thank you for your attention to these matters. I look forward to your feedback and suggestions. Best regards,Ella