[jira] [Commented] (SOLR-17704) Change ZkDistributedLock to use Curator

2025-03-17 Thread Houston Putman (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936230#comment-17936230
 ] 

Houston Putman commented on SOLR-17704:
---

Yeah, definitely agree with the ticket, but not sure it should be a sub-task.

I'm also really thinking about how to best do the shardTerms as a Curator 
recipe, but that might be a bit more bespoke than this.

> Change ZkDistributedLock to use Curator
> ---
>
> Key: SOLR-17704
> URL: https://issues.apache.org/jira/browse/SOLR-17704
> Project: Solr
>  Issue Type: Sub-task
>Reporter: David Smiley
>Priority: Major
>
> Now that Solr is using Curator for connection management, we can finally use 
> it to replace Solr code.  ZkDistributedLock looks like very low-hanging 
> fruit, used by the non-Overseer distributed mode.  That mode is still 
> experimental so we can change it in backwards-incompatible ways in Solr 10.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] SOLR-17043: Remove SolrClient path pattern matching [solr]

2025-03-17 Thread via GitHub


dsmiley commented on code in PR #3238:
URL: https://github.com/apache/solr/pull/3238#discussion_r1999350676


##
solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java:
##
@@ -185,8 +193,21 @@ public void setQueryParams(Set queryParams) {
 this.queryParams = queryParams;
   }
 
-  /** This method defines the type of this Solr request. */
-  public abstract String getRequestType();
+  /**
+   * The type of this Solr request.
+   *
+   * Pattern matches {@link SolrRequest#getPath} to identify ADMIN requests 
and other special
+   * cases. Overriding this method may affect request routing within various 
clients (i.e. {@link
+   * CloudSolrClient}).
+   */
+  public SolrRequestType getRequestType() {
+String path = getPath();
+if (path != null && CommonParams.ADMIN_PATHS.contains(path)) {

Review Comment:
   I see "qt" makes this harder.  I hate it; I _almost_ removed it completely 
as one of my first big actions as a committer, forever ago, but I went half-way 
by removing its processing server-side.  It's _still_ present in SolrJ as you 
see here; _sigh_.  I'd love to see this gone.  I know it's a convenience for 
tests that want a SolrParams to be sort of all-encompassing about the request.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17043: Remove SolrClient path pattern matching [solr]

2025-03-17 Thread via GitHub


dsmiley commented on code in PR #3238:
URL: https://github.com/apache/solr/pull/3238#discussion_r1999351627


##
solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java:
##
@@ -185,8 +193,21 @@ public void setQueryParams(Set queryParams) {
 this.queryParams = queryParams;
   }
 
-  /** This method defines the type of this Solr request. */
-  public abstract String getRequestType();
+  /**
+   * The type of this Solr request.
+   *
+   * Pattern matches {@link SolrRequest#getPath} to identify ADMIN requests 
and other special
+   * cases. Overriding this method may affect request routing within various 
clients (i.e. {@link
+   * CloudSolrClient}).
+   */
+  public SolrRequestType getRequestType() {
+String path = getPath();
+if (path != null && CommonParams.ADMIN_PATHS.contains(path)) {

Review Comment:
   Are there any "real" risks of mis-classification of the request type in 
SolrJ?



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[PR] SOLR-17584: Remove code and documentation for "trusted" configsets [solr]

2025-03-17 Thread via GitHub


abumarjikar opened a new pull request, #3272:
URL: https://github.com/apache/solr/pull/3272

   https://issues.apache.org/jira/browse/SOLR-X
   
   
   
   
   # Description
   
   Please provide a short description of the changes you're making with this 
pull request.
   
   # Solution
   
   Please provide a short description of the approach taken to implement your 
solution.
   
   # Tests
   
   Please describe the tests you've developed or run to confirm this patch 
implements the feature or solves the problem.
   
   # Checklist
   
   Please review the following and check all that apply:
   
   - [ ] I have reviewed the guidelines for [How to 
Contribute](https://github.com/apache/solr/blob/main/CONTRIBUTING.md) and my 
code conforms to the standards described there to the best of my ability.
   - [ ] I have created a Jira issue and added the issue ID to my pull request 
title.
   - [ ] I have given Solr maintainers 
[access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
 to contribute to my PR branch. (optional but recommended, not available for 
branches on forks living under an organisation)
   - [ ] I have developed this patch against the `main` branch.
   - [ ] I have run `./gradlew check`.
   - [ ] I have added tests for my changes.
   - [ ] I have added documentation for the [Reference 
Guide](https://github.com/apache/solr/tree/main/solr/solr-ref-guide)
   


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[jira] [Updated] (SOLR-17584) Remove code and documentation for "trusted"configsets

2025-03-17 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-17584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SOLR-17584:
--
Labels: newdev pull-request-available  (was: newdev)

> Remove code and documentation for "trusted"configsets
> -
>
> Key: SOLR-17584
> URL: https://issues.apache.org/jira/browse/SOLR-17584
> Project: Solr
>  Issue Type: Improvement
>  Components: configset-api, security
>Reporter: Jason Gerlowski
>Priority: Minor
>  Labels: newdev, pull-request-available
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> SOLR-16781 removed the ability for configsets to load code and resources 
> using "" directives.
> These (now removed) "" directives were the primary motivation for the 
> trusted/untrusted configset distinction that was evolved over time to 
> restrict which configs/collections could load external libraries.  Now that 
> they're gone, we should remove code and documentation related to the 
> trusted/untrusted distinction.
> Technically, several components (XSLTUpdateRequestHandler, 
> ScriptUpdateRequestProcessor) still check configset "trustedness" when being 
> loaded.  But both of these components require enabling a module at startup 
> time (e.g. {{SOLR_MODULES=scripting}}.  And if an administrator has already 
> put these things on the classpath, layering "trustedness" on top of that 
> doesn't seem to add any value or security. (Especially given that the 
> "trustedness" determination itself probably shouldn't be relied on, due to 
> the number of gaps found in it over the years.  In fact this is the main 
> motivation for the recent removal of  in the first place.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] Fix 'setup-zk' bash syntax error [solr-operator]

2025-03-17 Thread via GitHub


madrob commented on PR #769:
URL: https://github.com/apache/solr-operator/pull/769#issuecomment-2730457223

   Yes, shellcheck. Auto-correct got me!


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [I] Solr 9.8.0 pods do not become ready [solr-operator]

2025-03-17 Thread via GitHub


HoustonPutman closed issue #761: Solr 9.8.0 pods do not become ready
URL: https://github.com/apache/solr-operator/issues/761


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Fix 'setup-zk' bash syntax error [solr-operator]

2025-03-17 Thread via GitHub


gerlowskija commented on PR #769:
URL: https://github.com/apache/solr-operator/pull/769#issuecomment-2730254419

   "Spellcheck" or "[ShellCheck](https://github.com/koalaman/shellcheck)"?
   
   Assuming you mean "ShellCheck", but I'm not too familiar with it.  Seems 
like a good thing to have analysis on generally - our unit tests validate that 
the container "command" looks the way we expect, but nothing ever really 
ensures that it's even valid bash 😦 
   
   Thanks for the pointer; will take a look and file a follow-on ticket if it 
seems promising!


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Fix 'setup-zk' bash syntax error [solr-operator]

2025-03-17 Thread via GitHub


gerlowskija merged PR #769:
URL: https://github.com/apache/solr-operator/pull/769


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [I] Zk-setup error [solr-operator]

2025-03-17 Thread via GitHub


gerlowskija closed issue #759: Zk-setup error
URL: https://github.com/apache/solr-operator/issues/759


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17584: Remove code and documentation for "trusted" configsets [solr]

2025-03-17 Thread via GitHub


abumarjikar commented on code in PR #3272:
URL: https://github.com/apache/solr/pull/3272#discussion_r1999683086


##
solr/core/src/java/org/apache/solr/handler/configsets/CloneConfigSet.java:
##
@@ -64,8 +64,8 @@ public SolrJerseyResponse 
cloneExistingConfigSet(CloneConfigsetRequestBody reque
 }
 
 if (!DISABLE_CREATE_AUTH_CHECKS
-&& !isTrusted(solrQueryRequest.getUserPrincipal(), 
coreContainer.getAuthenticationPlugin())
-&& configSetService.isConfigSetTrusted(requestBody.baseConfigSet)) {
+&& !isTrusted(

Review Comment:
   not sure if we still need this, i kept it because this check on the not null 
on auth plugin and user principal. 



##
solr/core/src/java/org/apache/solr/handler/configsets/ConfigSetAPIBase.java:
##
@@ -134,24 +134,9 @@ protected void createBaseNode(
   throws IOException {
 if (overwritesExisting) {
   if (!requestIsTrusted) {
-ensureOverwritingUntrustedConfigSet(configName);
+throw new SolrException(

Review Comment:
   The trusted configs was always true and after considering that if the 
request is not trusted then we should directly throw exception.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-16903: Migrate all tests using File to NIO Path [solr]

2025-03-17 Thread via GitHub


mlbiscoc commented on code in PR #3263:
URL: https://github.com/apache/solr/pull/3263#discussion_r1999375059


##
solr/core/src/test/org/apache/solr/search/TestRecovery.java:
##
@@ -1779,11 +1778,11 @@ public void testRecoveryMultipleLogs() throws Exception 
{
   assertU(adoc("id", "CC"));
 
   h.close();
-  String[] files = ulog.getLogList(logDir.toPath());
+  String[] files = ulog.getLogList(logDir);
   Arrays.sort(files);
   String fname = files[files.length - 1];
   byte[] content;
-  try (RandomAccessFile raf = new RandomAccessFile(new File(logDir, 
fname), "rw")) {
+  try (RandomAccessFile raf = new 
RandomAccessFile(logDir.resolve(fname).toFile(), "rw")) {

Review Comment:
   Still trying to figure out the the NIO Path equivalent is here. Going to 
leave this comment to come back



##
solr/core/src/test/org/apache/solr/cli/StreamToolTest.java:
##
@@ -185,11 +183,11 @@ public void testReadStream() throws Exception {
   @Test
   @SuppressWarnings({"unchecked", "rawtypes"})
   public void testLocalCatStream() throws Exception {
-File localFile = File.createTempFile("topLevel1", ".txt");
-populateFileWithData(localFile.toPath());
+Path localFile = Files.createTempFile("topLevel1", ".txt");
+populateFileWithData(localFile);
 
 StreamTool.LocalCatStream catStream =
-new StreamTool.LocalCatStream(localFile.getAbsolutePath(), -1);
+new StreamTool.LocalCatStream(localFile.toAbsolutePath().toString(), 
-1);

Review Comment:
   We can but would required some refactor of 
[CatStream](https://github.com/apache/solr/blob/af97ef7037aec0c1fb028e173b6d8931cd12588d/solr/core/src/java/org/apache/solr/handler/CatStream.java#L52)
 which does a bunch of string parsing and changes the path string and adds 
comma delimiters. Not sure how Path would change the underlying path, if at all.



##
solr/core/src/test/org/apache/solr/SolrInfoBeanTest.java:
##
@@ -88,30 +90,37 @@ public void testCallMBeanInfo() throws Exception {
   }
 
   private static List> getClassesForPackage(String pckgname) throws 
Exception {
-ArrayList directories = new ArrayList<>();
+ArrayList directories = new ArrayList<>();
 ClassLoader cld = h.getCore().getResourceLoader().getClassLoader();
 String path = pckgname.replace('.', '/');
 Enumeration resources = cld.getResources(path);
 while (resources.hasMoreElements()) {
   final URI uri = resources.nextElement().toURI();
   if (!"file".equalsIgnoreCase(uri.getScheme())) continue;
-  final File f = new File(uri);
+  final Path f = Path.of(uri);
   directories.add(f);
 }
 
 ArrayList> classes = new ArrayList<>();
-for (File directory : directories) {
-  if (directory.exists()) {
-String[] files = directory.list();
-for (String file : files) {
-  if (file.endsWith(".class")) {
-String clazzName = file.substring(0, file.length() - 6);
-// exclude Test classes that happen to be in these packages.
-// class.ForName'ing some of them can cause trouble.
-if (!clazzName.endsWith("Test") && !clazzName.startsWith("Test")) {
-  classes.add(Class.forName(pckgname + '.' + clazzName));
-}
-  }
+for (Path directory : directories) {
+  if (Files.exists(directory)) {
+try (Stream files = Files.list(directory)) {

Review Comment:
   The Path equivalent for `directory.list();` in path is `Files.list` but this 
requires a try-with-resources since it returns a stream and the try with close 
the stream at the end. Other option is removing the try with resources but we 
need to call a `.close()` to close it manually.



##
solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java:
##
@@ -558,32 +555,34 @@ public void testInteractiveSolrCloudExample() throws 
Exception {
 
   @Test
   public void testFailExecuteScript() throws Exception {
-File solrHomeDir = new File(ExternalPaths.SERVER_HOME);
-if (!solrHomeDir.isDirectory())
-  fail(solrHomeDir.getAbsolutePath() + " not found and is required to run 
this test!");
+Path solrHomeDir = Path.of(ExternalPaths.SERVER_HOME);
+if (!Files.isDirectory(solrHomeDir))
+  fail(solrHomeDir.toAbsolutePath() + " not found and is required to run 
this test!");
 
-Path tmpDir = createTempDir();
-File solrExampleDir = tmpDir.toFile();
-File solrServerDir = solrHomeDir.getParentFile();
+Path solrExampleDir = createTempDir();
+Path solrServerDir = solrHomeDir.getParent();
 
 // need a port to start the example server on
 int bindPort = -1;
 try (ServerSocket socket = new ServerSocket(0)) {
   bindPort = socket.getLocalPort();
 }
 
-File toExecute = new File(tmpDir.toString(), "failExecuteScript");
-assertTrue(
-"Should have been able to create file '" + toExecute.getAbsolutePath() 
+ "' ",
-  

[I] SolrBackup should call DELETEBACKUP with purgeUnused=true [solr-operator]

2025-03-17 Thread via GitHub


killdash9 opened a new issue, #772:
URL: https://github.com/apache/solr-operator/issues/772

   When keeping only the most recent n backups, orphaned files can accumulate 
in the backup repository.  Calling 
   
   
/solr/admin/collections?action=DELETEBACKUP&name=myBackupName&location=/path/to/my/shared/drive&purgeUnused=true
 will clean those up.  See 
https://solr.apache.org/guide/solr/latest/deployment-guide/collection-management.html
 for documentation on this api call.  
   
   The SolrBackup CRD should call this api as part of managing recurring 
backups.  
   
   


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-16903: Migrate all tests using File to NIO Path [solr]

2025-03-17 Thread via GitHub


epugh commented on PR #3263:
URL: https://github.com/apache/solr/pull/3263#issuecomment-2730981611

   Looks like some nice progress..  I just clicked the unit tests button.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[jira] [Commented] (SOLR-17584) Remove code and documentation for "trusted"configsets

2025-03-17 Thread Abhishek Umarjikar (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936313#comment-17936313
 ] 

Abhishek Umarjikar commented on SOLR-17584:
---

[~epugh] Added my comment on that.
[~gerlowskija] wanted some clarity on whether we need to consider the 
*requestIsTrusted* as part of the trustedness logic.

> Remove code and documentation for "trusted"configsets
> -
>
> Key: SOLR-17584
> URL: https://issues.apache.org/jira/browse/SOLR-17584
> Project: Solr
>  Issue Type: Improvement
>  Components: configset-api, security
>Reporter: Jason Gerlowski
>Priority: Minor
>  Labels: newdev, pull-request-available
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> SOLR-16781 removed the ability for configsets to load code and resources 
> using "" directives.
> These (now removed) "" directives were the primary motivation for the 
> trusted/untrusted configset distinction that was evolved over time to 
> restrict which configs/collections could load external libraries.  Now that 
> they're gone, we should remove code and documentation related to the 
> trusted/untrusted distinction.
> Technically, several components (XSLTUpdateRequestHandler, 
> ScriptUpdateRequestProcessor) still check configset "trustedness" when being 
> loaded.  But both of these components require enabling a module at startup 
> time (e.g. {{SOLR_MODULES=scripting}}.  And if an administrator has already 
> put these things on the classpath, layering "trustedness" on top of that 
> doesn't seem to add any value or security. (Especially given that the 
> "trustedness" determination itself probably shouldn't be relied on, due to 
> the number of gaps found in it over the years.  In fact this is the main 
> motivation for the recent removal of  in the first place.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [I] Getting unauthorized requests for cluster/replicas/balance in v0.8.0 [solr-operator]

2025-03-17 Thread via GitHub


jstaf commented on issue #653:
URL: https://github.com/apache/solr-operator/issues/653#issuecomment-2731064995

   As a workaround, you can manually add `/v2/cluster/replicas/balance` in 
the security screen to the `k8s-oper` and `admin` users on a new cluster. 
   
   However just a warning that rebalancing doesn't seem to work very well so 
you may just want to leave it off... it seems to just create a whole bunch of 
replicas then time out, then leaves a bunch of replicas on the new nodes 
without deleting the ones on the old node. After failing, it runs rebalance 
again, then instantly declares it was a "success" even though the replicas 
never got moved properly and now you have more replicas than you started with.
   
   ```
   2025-03-15 00:59:28.579 INFO  (OverseerThreadFactory-120-thread-2) [c: s: r: 
x: t:] o.a.s.c.a.c.ReplicaMigrationUtils Timed out waiting for 1 leader 
replicas to recover
   2025-03-15 00:59:28.579 INFO  (OverseerThreadFactory-120-thread-2) [c: s: r: 
x: t:] o.a.s.c.a.c.ReplicaMigrationUtils Failed to create some replicas. 
Cleaning up all newly created replicas.
   org.apache.solr.common.SolrException: collection,shard,replica are required 
params
   "at 
org.apache.solr.cloud.api.collections.CollectionHandlingUtils.checkRequired(CollectionHandlingUtils.java:196)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.DeleteReplicaCmd.deleteReplica(DeleteReplicaCmd.java:86)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.OverseerCollectionMessageHandler.processMessage(OverseerCollectionMessageHandler.java:130)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown 
Source) ~[?:?]"
   2025-03-15 00:59:28.579 ERROR (OverseerThreadFactory-120-thread-2) [c: s: r: 
x: t:] o.a.s.c.a.c.CollectionHandlingUtils Operation balance_replicas failed => 
org.apache.solr.common.SolrException: collection,shard,replica are required 
params
   "at 
org.apache.solr.cloud.api.collections.CollectionHandlingUtils.checkRequired(CollectionHandlingUtils.java:196)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.DeleteReplicaCmd.deleteReplica(DeleteReplicaCmd.java:86)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.ReplicaMigrationUtils.migrateReplicas(ReplicaMigrationUtils.java:217)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.BalanceReplicasCmd.call(BalanceReplicasCmd.java:81)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.OverseerCollectionMessageHandler.processMessage(OverseerCollectionMessageHandler.java:130)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:363)
 ~[solr-solrj-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - 
houston - 2024-05-23 13:50:22]"
   "at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown 
Source) ~[?:?]"
   2025-03-15 00:59:28.579 WARN  (OverseerThreadFactory-120-thread-2) [c: s: r: 
x: t:] o.a.s.c.a.c.ReplicaMigrationUtils Error deleting replica  => 
org.apache.solr.common.SolrException: collection,shard,replica are required 
params
   "at 
org.apache.solr.cloud.api.collections.CollectionHandlingUtils.checkRequired(CollectionHandlingUtils.java:196)"
   "at 
org.apache.solr.cloud.api.collections.ReplicaMigrationUtils.migrateReplicas(ReplicaMigrationUtils.java:217)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.BalanceReplicasCmd.call(BalanceReplicasCmd.java:81)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.api.collections.CollApiCmds$TraceAwareCommand.call(CollApiCmds.java:225)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.cloud.OverseerTaskProcessor$Runner.run(OverseerTaskProcessor.java:564)
 ~[solr-core-9.6.1.jar:9.6.1 d7f7166567f52f1b31e3315b0188e11f2c4c9b60 - houston 
- 2024-05-23 13:50:22]"
   "at 
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:363)
 ~[so

[jira] [Updated] (SOLR-17707) HttpJdkSolrClient threads stuck on exceptions

2025-03-17 Thread Artem Abeleshev (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-17707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Artem Abeleshev updated SOLR-17707:
---
Environment: (was: There is a problem with _HttpJdkSolrClient_ used by 
{_}SolrJ{_}. In case of exception occurs on sending data (in my case it was 
{_}connection reset by peer{_}) the thread from the http client pool get stuck. 
Internally, _HttpJdkSolrClient_ using _PipedOutputStream_ and 
_PipedInputStream_ and in case of exception it ends up waiting forever. Seems 
like _PipedOutputStream_ buffer remains full and _PipedInputStream_ stuck in a 
waiting state waiting for the avaialble space to write. This will consume one 
thread from the pool making it blocked. By default, _HttpJdkSolrClient_ created 
with an executor of a _4_ threads, if all of them are blocked the _SolrJ_ will 
be unable to work.

There seems to be no problem with that if switching to use _Http2SolrClient_ 
instead of _HttpJdkSolrClient_ as _Http2SolrClient_ doesn't use 
_PipedOutputStream_ and {_}PipedInputStream{_}.

Here is a part of threaddump showing the http client threads get stuck:

 
{code:java}
"HttpJdkSolrClient-1-thread-1-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=52 TIMED_WAITING on 
java.io.PipedInputStream@67168d76
    at java.base@17.0.12/java.lang.Object.wait(Native Method)
    -  waiting on java.io.PipedInputStream@67168d76
    at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
    at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
    at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
    at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
    at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
    at org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
    at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
    ...
    Number of locked synchronizers = 1
    - java.util.concurrent.ThreadPoolExecutor$Worker@bdec8d6
"HttpJdkSolrClient-1-thread-2-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=53 TIMED_WAITING on 
java.io.PipedInputStream@571e7f87
    at java.base@17.0.12/java.lang.Object.wait(Native Method)
    -  waiting on java.io.PipedInputStream@571e7f87
    at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
    at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
    at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
    at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
    at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
    at org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
    at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
    ...
    Number of locked synchronizers = 1
    - java.util.concurrent.ThreadPoolExecutor$Worker@7e6cf6f2
"HttpJdkSolrClient-1-thread-3-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=54 TIMED_WAITING on 
java.io.PipedInputStream@497c4c19
    at java.base@17.0.12/java.lang.Object.wait(Native Method)
    -  waiting on java.io.PipedInputStream@497c4c19
    at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
    at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
    at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
    at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
    at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
    at org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
    at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
    ...
    Number of locked synchronizers = 1
    - java.util.concurrent.ThreadPoolExecutor$Worker@7a2b5f30
"HttpJdkSolrClient-1-thread-4-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=55 TIMED_WAITING on 
java.io.PipedInputStream@77907562
    at java.base@17.0.12/java.lang.Object.wait(Native Method)
    -  waiting on java.io.PipedInputStream@77907562
    at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
    at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
    at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
    at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
    at 
org.apache.solr.common.util.FastOutputStream.write(FastOutputStream.java:97)
    at org.apache.solr.common.util.JavaBinCodec.writeStr(JavaBinCodec.java:916)
    at 
org.apache.solr.common.util.JavaBinCodec.writePrimitive(JavaBinCodec.java:1062)
    ...
    Number of locked synchronizers = 1
    - java.

[jira] [Updated] (SOLR-17707) HttpJdkSolrClient threads stuck on exceptions

2025-03-17 Thread Artem Abeleshev (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-17707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Artem Abeleshev updated SOLR-17707:
---
Description: 
There is a problem with _HttpJdkSolrClient_ used by {_}SolrJ{_}. In case of 
exception occurs on sending data (in my case it was {_}connection reset by 
peer{_}) the thread from the http client pool get stuck. Internally, 
_HttpJdkSolrClient_ using _PipedOutputStream_ and _PipedInputStream_ and in 
case of exception it ends up waiting forever. Seems like _PipedOutputStream_ 
buffer remains full and _PipedInputStream_ stuck in a waiting state waiting for 
the avaialble space to write. This will consume one thread from the pool making 
it blocked. By default, _HttpJdkSolrClient_ created with an executor of a _4_ 
threads, if all of them are blocked the _SolrJ_ will be unable to work.

There seems to be no problem with that if switching to use _Http2SolrClient_ 
instead of _HttpJdkSolrClient_ as _Http2SolrClient_ doesn't use 
_PipedOutputStream_ and {_}PipedInputStream{_} facility.

Here is a part of threaddump showing the http client threads get stuck:


{code:java}
"HttpJdkSolrClient-1-thread-1-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=52 TIMED_WAITING on 
java.io.PipedInputStream@67168d76
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@67168d76
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@bdec8d6

"HttpJdkSolrClient-1-thread-2-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=53 TIMED_WAITING on 
java.io.PipedInputStream@571e7f87
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@571e7f87
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@7e6cf6f2

"HttpJdkSolrClient-1-thread-3-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=54 TIMED_WAITING on 
java.io.PipedInputStream@497c4c19
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@497c4c19
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@7a2b5f30

"HttpJdkSolrClient-1-thread-4-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=55 TIMED_WAITING on 
java.io.PipedInputStream@77907562
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@77907562
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.write(FastOutputStream.java:97)
at 
org.apache.solr.common.util.JavaBin

[jira] [Updated] (SOLR-17707) HttpJdkSolrClient threads stuck on exceptions

2025-03-17 Thread Artem Abeleshev (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-17707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Artem Abeleshev updated SOLR-17707:
---
Description: 
There is a problem with _HttpJdkSolrClient_ used by {_}SolrJ{_}. In case of 
exception occurs on sending data (in my case it was {_}connection reset by 
peer{_}) the thread from the http client pool get stuck. Internally, 
_HttpJdkSolrClient_ using _PipedOutputStream_ and _PipedInputStream_ and in 
case of exception it ends up waiting forever. Seems like _PipedOutputStream_ 
buffer remains full and _PipedInputStream_ stuck in a waiting state waiting for 
the avaialble space to write. This will consume one thread from the pool making 
it blocked. By default, _HttpJdkSolrClient_ created with an executor of a _4_ 
threads, if all of them are blocked the _SolrJ_ will be unable to work.

There seems to be no problem with that if switching to use _Http2SolrClient_ 
instead of _HttpJdkSolrClient_ as _Http2SolrClient_ doesn't use 
_PipedOutputStream_ and {_}PipedInputStream{_}.

Here is a part of threaddump showing the http client threads get stuck:


{code:java}
"HttpJdkSolrClient-1-thread-1-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=52 TIMED_WAITING on 
java.io.PipedInputStream@67168d76
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@67168d76
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@bdec8d6

"HttpJdkSolrClient-1-thread-2-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=53 TIMED_WAITING on 
java.io.PipedInputStream@571e7f87
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@571e7f87
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@7e6cf6f2

"HttpJdkSolrClient-1-thread-3-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=54 TIMED_WAITING on 
java.io.PipedInputStream@497c4c19
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@497c4c19
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@7a2b5f30

"HttpJdkSolrClient-1-thread-4-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=55 TIMED_WAITING on 
java.io.PipedInputStream@77907562
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@77907562
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.write(FastOutputStream.java:97)
at 
org.apache.solr.common.util.JavaBinCodec.wri

[jira] [Updated] (SOLR-17707) HttpJdkSolrClient threads stuck on exceptions

2025-03-17 Thread Artem Abeleshev (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-17707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Artem Abeleshev updated SOLR-17707:
---
Description: 
There is a problem with _HttpJdkSolrClient_ used by {_}SolrJ{_}. In case of 
exception occurs on sending data (in my case it was {_}connection reset by 
peer{_}) the thread from the http client pool get stuck. Internally, 
_HttpJdkSolrClient_ using _PipedOutputStream_ and _PipedInputStream_ and in 
case of exception it ends up waiting forever. Seems like _PipedOutputStream_ 
buffer remains full and _PipedInputStream_ stuck in a waiting state waiting for 
the avaialble space to write. This will consume one thread from the pool making 
it blocked. By default, _HttpJdkSolrClient_ created with an executor of a _4_ 
threads, if all of them are blocked the _SolrJ_ will be unable to work.

There seems to be no problem with that if switching to use _Http2SolrClient_ 
instead of _HttpJdkSolrClient_ as _Http2SolrClient_ doesn't use 
_PipedOutputStream_ and {_}PipedInputStream{_}.

Here is a part of threaddump showing the http client threads get stuck:


{code:java}
"HttpJdkSolrClient-1-thread-1-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=52 TIMED_WAITING on 
java.io.PipedInputStream@67168d76
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@67168d76
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@bdec8d6

"HttpJdkSolrClient-1-thread-2-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=53 TIMED_WAITING on 
java.io.PipedInputStream@571e7f87
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@571e7f87
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@7e6cf6f2

"HttpJdkSolrClient-1-thread-3-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=54 TIMED_WAITING on 
java.io.PipedInputStream@497c4c19
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@497c4c19
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:200)
at 
org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:170)
at 
org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.marshal(JavaBinUpdateRequestCodec.java:100)
...

Number of locked synchronizers = 1
- java.util.concurrent.ThreadPoolExecutor$Worker@7a2b5f30

"HttpJdkSolrClient-1-thread-4-processing-system 
ad571f96-762d-4e9a-8f9c-f5580413397d" prio=5 Id=55 TIMED_WAITING on 
java.io.PipedInputStream@77907562
at java.base@17.0.12/java.lang.Object.wait(Native Method)
-  waiting on java.io.PipedInputStream@77907562
at java.base@17.0.12/java.io.PipedInputStream.awaitSpace(Unknown Source)
at java.base@17.0.12/java.io.PipedInputStream.receive(Unknown Source)
at java.base@17.0.12/java.io.PipedOutputStream.write(Unknown Source)
at 
org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:207)
at 
org.apache.solr.common.util.FastOutputStream.write(FastOutputStream.java:97)
at 
org.apache.solr.common.util.JavaBinCodec.wri

[jira] [Commented] (SOLR-17699) High Query Time in Solr When Using OR with frange in fq

2025-03-17 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936345#comment-17936345
 ] 

ASF subversion and git services commented on SOLR-17699:


Commit ac74ced99e288f74a18655ec4cd2f205b976ca54 in solr's branch 
refs/heads/main from David Smiley
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=ac74ced99e2 ]

SOLR-17699: Fix {!frange} perf regression in disjunction (#3259)

Since 9.0 with "frange" function queries when in a disjunction (OR).  
TwoPhaseIterator must be used; was iterating all docs instead.

> High Query Time in Solr When Using OR with frange in fq
> ---
>
> Key: SOLR-17699
> URL: https://issues.apache.org/jira/browse/SOLR-17699
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>Affects Versions: 9.0, 9.6.1
>Reporter: Puneet Sharma
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> h3. High Query Time in Solr When Using {{OR}} with {{frange}} in {{fq}}
> I am experiencing high query times in Solr when using an {{fq}} filter that 
> combines an {{OR}} condition with {{{}frange{}}}. The response time 
> significantly increases compared to queries that do not use this combination.
> h4. Query Example
>  
> {{fq=\{!cache=false tag=prm}field:value OR \{!frange l=1 u=1 v=$funcQuery}}}
> Here, {{$funcQuery}} is a function query that retrieves documents dynamically 
> based on dynamic parameters.
> h4. Observations
>  * When I use just {{{}{!frange l=1 u=1 v=$funcQuery}{}}}, the query executes 
> quickly[20ms].
>  * When I use {{{!cache=false tag=prm}field:value}} alone, the query is also 
> fast.
>  * However, when combining both with {{{}OR{}}}, the query time increases 
> significantly [700ms].
>  * The dataset is relatively large, but other queries with similar complexity 
> run efficiently.
> h4. Questions
>  # Why does the {{OR}} operation with {{frange}} cause a significant increase 
> in query time?
>  # Are there any optimizations or alternative query structures that could 
> improve performance?
>  # Would it help to restructure how function queries and filters are applied 
> in this case?
>  # Is there any alternative for frange for this use case because in our use 
> case, this cannot be done at index time because the function parameters 
> change very frequently?
> Any insights or suggestions would be greatly appreciated!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] SOLR-16903: Migrate all tests using File to NIO Path [solr]

2025-03-17 Thread via GitHub


mlbiscoc commented on code in PR #3263:
URL: https://github.com/apache/solr/pull/3263#discussion_r1998742643


##
solr/core/src/test/org/apache/solr/SolrInfoBeanTest.java:
##
@@ -88,30 +90,37 @@ public void testCallMBeanInfo() throws Exception {
   }
 
   private static List> getClassesForPackage(String pckgname) throws 
Exception {
-ArrayList directories = new ArrayList<>();
+ArrayList directories = new ArrayList<>();
 ClassLoader cld = h.getCore().getResourceLoader().getClassLoader();
 String path = pckgname.replace('.', '/');
 Enumeration resources = cld.getResources(path);
 while (resources.hasMoreElements()) {
   final URI uri = resources.nextElement().toURI();
   if (!"file".equalsIgnoreCase(uri.getScheme())) continue;
-  final File f = new File(uri);
+  final Path f = Path.of(uri);
   directories.add(f);
 }
 
 ArrayList> classes = new ArrayList<>();
-for (File directory : directories) {
-  if (directory.exists()) {
-String[] files = directory.list();
-for (String file : files) {
-  if (file.endsWith(".class")) {
-String clazzName = file.substring(0, file.length() - 6);
-// exclude Test classes that happen to be in these packages.
-// class.ForName'ing some of them can cause trouble.
-if (!clazzName.endsWith("Test") && !clazzName.startsWith("Test")) {
-  classes.add(Class.forName(pckgname + '.' + clazzName));
-}
-  }
+for (Path directory : directories) {
+  if (Files.exists(directory)) {
+try (Stream files = Files.list(directory)) {

Review Comment:
   The Path equivalent for `directory.list();` in path is `Files.list` but this 
requires a try-with-resources since it returns a stream and  closes the stream 
at the end. Other option is removing the try with resources but we need to call 
a `.close()` to close it manually.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[jira] [Comment Edited] (SOLR-17699) High Query Time in Solr When Using OR with frange in fq

2025-03-17 Thread Puneet Sharma (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936369#comment-17936369
 ] 

Puneet Sharma edited comment on SOLR-17699 at 3/18/25 5:22 AM:
---

{quote}When you tried just the {{frange}} alone in a fq and said it was fast, 
did you disable the cache on it as well with {{{}cache=false{}}}?
{quote}
yes [~dsmiley] I used {{{}cache=false w{}}}hen i tried just the {{frange}} 
alone in a fq.
{quote}Puneet Sharma In the scenario you describe, I suppose field:value in 
your query is often true? 
{quote}
I have 8.1 million doc in solr and for 77125 docs field:value is true.


was (Author: JIRAUSER304723):
{quote}When you tried just the {{frange}} alone in a fq and said it was fast, 
did you disable the cache on it as well with {{{}cache=false{}}}?
{quote}
yes [~dsmiley] I used {{{}cache=false w{}}}hen i tried just the {{frange}} 
alone in a fq.
{quote}Puneet Sharma In the scenario you describe, I suppose field:value in 
your query is often true? 
{quote}
I have 8.1 million doc in solr and 77125 docs field:value is true.

> High Query Time in Solr When Using OR with frange in fq
> ---
>
> Key: SOLR-17699
> URL: https://issues.apache.org/jira/browse/SOLR-17699
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>Affects Versions: 9.0, 9.6.1
>Reporter: Puneet Sharma
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> h3. High Query Time in Solr When Using {{OR}} with {{frange}} in {{fq}}
> I am experiencing high query times in Solr when using an {{fq}} filter that 
> combines an {{OR}} condition with {{{}frange{}}}. The response time 
> significantly increases compared to queries that do not use this combination.
> h4. Query Example
>  
> {{fq=\{!cache=false tag=prm}field:value OR \{!frange l=1 u=1 v=$funcQuery}}}
> Here, {{$funcQuery}} is a function query that retrieves documents dynamically 
> based on dynamic parameters.
> h4. Observations
>  * When I use just {{{}{!frange l=1 u=1 v=$funcQuery}{}}}, the query executes 
> quickly[20ms].
>  * When I use {{{!cache=false tag=prm}field:value}} alone, the query is also 
> fast.
>  * However, when combining both with {{{}OR{}}}, the query time increases 
> significantly [700ms].
>  * The dataset is relatively large, but other queries with similar complexity 
> run efficiently.
> h4. Questions
>  # Why does the {{OR}} operation with {{frange}} cause a significant increase 
> in query time?
>  # Are there any optimizations or alternative query structures that could 
> improve performance?
>  # Would it help to restructure how function queries and filters are applied 
> in this case?
>  # Is there any alternative for frange for this use case because in our use 
> case, this cannot be done at index time because the function parameters 
> change very frequently?
> Any insights or suggestions would be greatly appreciated!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (SOLR-17699) High Query Time in Solr When Using OR with frange in fq

2025-03-17 Thread Puneet Sharma (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936369#comment-17936369
 ] 

Puneet Sharma commented on SOLR-17699:
--

{quote}When you tried just the {{frange}} alone in a fq and said it was fast, 
did you disable the cache on it as well with {{{}cache=false{}}}?
{quote}
yes [~dsmiley] I used {{{}cache=false w{}}}hen i tried just the {{frange}} 
alone in a fq.
{quote}Puneet Sharma In the scenario you describe, I suppose field:value in 
your query is often true? 
{quote}
I have 8.1 million doc in solr and 77125 docs field:value is true.

> High Query Time in Solr When Using OR with frange in fq
> ---
>
> Key: SOLR-17699
> URL: https://issues.apache.org/jira/browse/SOLR-17699
> Project: Solr
>  Issue Type: Bug
>  Security Level: Public(Default Security Level. Issues are Public) 
>Affects Versions: 9.0, 9.6.1
>Reporter: Puneet Sharma
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> h3. High Query Time in Solr When Using {{OR}} with {{frange}} in {{fq}}
> I am experiencing high query times in Solr when using an {{fq}} filter that 
> combines an {{OR}} condition with {{{}frange{}}}. The response time 
> significantly increases compared to queries that do not use this combination.
> h4. Query Example
>  
> {{fq=\{!cache=false tag=prm}field:value OR \{!frange l=1 u=1 v=$funcQuery}}}
> Here, {{$funcQuery}} is a function query that retrieves documents dynamically 
> based on dynamic parameters.
> h4. Observations
>  * When I use just {{{}{!frange l=1 u=1 v=$funcQuery}{}}}, the query executes 
> quickly[20ms].
>  * When I use {{{!cache=false tag=prm}field:value}} alone, the query is also 
> fast.
>  * However, when combining both with {{{}OR{}}}, the query time increases 
> significantly [700ms].
>  * The dataset is relatively large, but other queries with similar complexity 
> run efficiently.
> h4. Questions
>  # Why does the {{OR}} operation with {{frange}} cause a significant increase 
> in query time?
>  # Are there any optimizations or alternative query structures that could 
> improve performance?
>  # Would it help to restructure how function queries and filters are applied 
> in this case?
>  # Is there any alternative for frange for this use case because in our use 
> case, this cannot be done at index time because the function parameters 
> change very frequently?
> Any insights or suggestions would be greatly appreciated!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Updated] (SOLR-17514) SolrJ: Create a CborJacksonRequestWriter

2025-03-17 Thread David Smiley (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-17514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Smiley updated SOLR-17514:

Description: 
Once Solr accepts CBOR more completely for indexing, we should create a 
CborJacksonRequestWriter that works with Jackson supporting CBOR to write 
updates.  Can separate this into two phases -- Jackson for JSON, then CBOR.

Note/risk: Does the OpenAPI direction for SolrJ lead to another alternative 
conception of how the indexing classes work?

-_(as of this writing, RequestWriter is in need of a refactor so that it's an 
abstract class or interface instead of being for XML)._-

  was:
Once Solr accepts CBOR more completely for indexing, we should create a 
CborJacksonRequestWriter that works with Jackson supporting CBOR to write 
updates.  Can separate this into two phases -- Jackson for JSON, then CBOR.

Note/risk: Does the OpenAPI direction for SolrJ lead to another alternative 
conception of how the indexing classes work?

_(as of this writing, RequestWriter is in need of a refactor so that it's an 
abstract class or interface instead of being for XML)._


> SolrJ: Create a CborJacksonRequestWriter
> 
>
> Key: SOLR-17514
> URL: https://issues.apache.org/jira/browse/SOLR-17514
> Project: Solr
>  Issue Type: New Feature
>  Components: SolrJ
>Reporter: David Smiley
>Priority: Major
>
> Once Solr accepts CBOR more completely for indexing, we should create a 
> CborJacksonRequestWriter that works with Jackson supporting CBOR to write 
> updates.  Can separate this into two phases -- Jackson for JSON, then CBOR.
> Note/risk: Does the OpenAPI direction for SolrJ lead to another alternative 
> conception of how the indexing classes work?
> -_(as of this writing, RequestWriter is in need of a refactor so that it's an 
> abstract class or interface instead of being for XML)._-



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



[jira] [Commented] (SOLR-17584) Remove code and documentation for "trusted"configsets

2025-03-17 Thread Abhishek Umarjikar (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936314#comment-17936314
 ] 

Abhishek Umarjikar commented on SOLR-17584:
---

[~gerlowskija] wanted some clarity on whether we need to consider the 
*requestIsTrusted* as part of the trustedness logic.

> Remove code and documentation for "trusted"configsets
> -
>
> Key: SOLR-17584
> URL: https://issues.apache.org/jira/browse/SOLR-17584
> Project: Solr
>  Issue Type: Improvement
>  Components: configset-api, security
>Reporter: Jason Gerlowski
>Priority: Minor
>  Labels: newdev, pull-request-available
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> SOLR-16781 removed the ability for configsets to load code and resources 
> using "" directives.
> These (now removed) "" directives were the primary motivation for the 
> trusted/untrusted configset distinction that was evolved over time to 
> restrict which configs/collections could load external libraries.  Now that 
> they're gone, we should remove code and documentation related to the 
> trusted/untrusted distinction.
> Technically, several components (XSLTUpdateRequestHandler, 
> ScriptUpdateRequestProcessor) still check configset "trustedness" when being 
> loaded.  But both of these components require enabling a module at startup 
> time (e.g. {{SOLR_MODULES=scripting}}.  And if an administrator has already 
> put these things on the classpath, layering "trustedness" on top of that 
> doesn't seem to add any value or security. (Especially given that the 
> "trustedness" determination itself probably shouldn't be relied on, due to 
> the number of gaps found in it over the years.  In fact this is the main 
> motivation for the recent removal of  in the first place.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] SOLR-14410: switch from SysV to systemd service [solr]

2025-03-17 Thread via GitHub


janhoy commented on PR #428:
URL: https://github.com/apache/solr/pull/428#issuecomment-2731247982

   Hi @davispuh. Instead of replying to a merged PR, pleas either file a JIRA 
ticket, a new PR with a proposal, or start a discussion on 
us...@solr.apache.org mailing list.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [I] Scaling Down Causes "Down" Replicas [solr-operator]

2025-03-17 Thread via GitHub


HoustonPutman commented on issue #754:
URL: https://github.com/apache/solr-operator/issues/754#issuecomment-2730921928

   Oof, yeah that's really not great. I think ultimately it's a Solr bug that 
when an error happens when moving/creating replicas, Solr doesn't always delete 
the replicas it was trying to create. So it can create more and more broken 
replicas.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[PR] Bump github.com/containerd/containerd from 1.7.23 to 1.7.27 [solr-operator]

2025-03-17 Thread via GitHub


dependabot[bot] opened a new pull request, #771:
URL: https://github.com/apache/solr-operator/pull/771

   Bumps 
[github.com/containerd/containerd](https://github.com/containerd/containerd) 
from 1.7.23 to 1.7.27.
   
   Release notes
   Sourced from https://github.com/containerd/containerd/releases";>github.com/containerd/containerd's
 releases.
   
   containerd 1.7.27
   Welcome to the v1.7.27 release of containerd!
   The twenty-seventh patch release for containerd 1.7 contains various fixes
   and updates.
   Highlights
   
   Fix integer overflow in User ID handling (https://github.com/containerd/containerd/security/advisories/GHSA-265r-hfxg-fhmg";>GHSA-265r-hfxg-fhmg)
   Update image type checks to avoid unnecessary logs for attestations (https://redirect.github.com/containerd/containerd/pull/11538";>#11538)
   
   Please try out the release binaries and report any issues at
   https://github.com/containerd/containerd/issues";>https://github.com/containerd/containerd/issues.
   Contributors
   
   Jin Dong
   Akhil Mohan
   Derek McGowan
   Maksym Pavlenko
   Paweł Gronowski
   Phil Estes
   Akihiro Suda
   Craig Ingram
   Krisztian Litkey
   Samuel Karp
   
   Changes
   
   
   https://github.com/containerd/containerd/commit/05044ec0a9a75232cad458027ca83437aae3f4da";>05044ec0a
 Merge commit from fork
   https://github.com/containerd/containerd/commit/11504c3fc5f45634f2d93d57743a998194430b82";>11504c3fc
 validate uid/gid
   Prepare release notes for v1.7.27 (https://redirect.github.com/containerd/containerd/pull/11540";>#11540)
   
   https://github.com/containerd/containerd/commit/1be04be6c307a7f67423574ca1b9744e57377753";>1be04be6c
 Prepare release notes for v1.7.27
   
   
   Update image type checks to avoid unnecessary logs for attestations (https://redirect.github.com/containerd/containerd/pull/11538";>#11538)
   
   https://github.com/containerd/containerd/commit/82b5c43fed40d1f32e88215a3f0acbaf8cd9af10";>82b5c43fe
 core/remotes: Handle attestations in MakeRefKey
   https://github.com/containerd/containerd/commit/2c670e79bf19bc7716c8b9f1f82c700ad8233af3";>2c670e79b
 core/images: Ignore attestations when traversing children
   
   
   update build to go1.23.7, test go1.24.1 (https://redirect.github.com/containerd/containerd/pull/11515";>#11515)
   
   https://github.com/containerd/containerd/commit/a39863c9fd52abb50895a4b6f653cf501a2e3388";>a39863c9f
 update build to go1.23.7, test go1.24.1
   
   
   Remove hashicorp/go-multierror dependency and fix CI (https://redirect.github.com/containerd/containerd/pull/11499";>#11499)
   
   https://github.com/containerd/containerd/commit/49537b3a75bdcd982e7e26855779b346bb363a54";>49537b3a7
 e2e: use the shim bundled with containerd artifact
   https://github.com/containerd/containerd/commit/fe490b76fd78cc1461f20aab89951be5f88fc454";>fe490b76f
 Bump up github.com/intel/goresctrl to 0.5.0
   https://github.com/containerd/containerd/commit/13fc9d3132fc4c77f6533551049d2d865d4e4b45";>13fc9d313
 update containerd/project-checks to 1.2.1
   https://github.com/containerd/containerd/commit/585699c94f68649a89b0af46d675d6e998d67ccd";>585699c94
 Remove unnecessary joinError unwrap
   https://github.com/containerd/containerd/commit/4b9df59be202a011c4f65604bbeab75eeb85ab46";>4b9df59be
 Remove hashicorp/go-multierror
   
   
   go.{mod,sum}: bump CDI deps to v0.8.1. (https://redirect.github.com/containerd/containerd/pull/11422";>#11422)
   
   https://github.com/containerd/containerd/commit/5ba28f8dc1d007059ed3eb1a7b55025e72abd525";>5ba28f8dc
 go.{mod,sum}: bump CDI deps to v0.8.1, re-vendor.
   
   
   CI: arm64-8core-32gb -> ubuntu-24.04-arm (https://redirect.github.com/containerd/containerd/pull/11437";>#11437)
   
   https://github.com/containerd/containerd/commit/85f10bd9221f35ef1c2b8ec2d67520f461aa51a0";>85f10bd92
 CI: arm64-8core-32gb -> ubuntu-24.04-arm
   
   
   
   
   
   ... (truncated)
   
   
   Commits
   
   https://github.com/containerd/containerd/commit/05044ec0a9a75232cad458027ca83437aae3f4da";>05044ec
 Merge commit from fork
   https://github.com/containerd/containerd/commit/0b7f2a55f71f04a3655e9576ab22377c3e45f32d";>0b7f2a5
 Merge pull request https://redirect.github.com/containerd/containerd/issues/11540";>#11540
 from dmcgowan/prepare-1.7.27
   https://github.com/containerd/containerd/commit/574a30406e06045a602f8fab59c2e0e725de6e24";>574a304
 Merge pull request https://redirect.github.com/containerd/containerd/issues/11538";>#11538
 from dmcgowan/backport-11327
   https://github.com/containerd/containerd/commit/1be04be6c307a7f67423574ca1b9744e57377753";>1be04be
 Prepare release notes for v1.7.27
   https://github.com/containerd/containerd/commit/82b5c43fed40d1f32e88215a3f0acbaf8cd9af10";>82b5c43
 core/remotes: Handle attestations in MakeRefKey
   https://github.com/containerd/containerd/commit/2c670e79bf19bc7716c8b9f1f82c700ad8233af3";>2c670e7
 core/images: Ignore attestations when traversing children
   https://github.com/containerd/contai

Re: [PR] forbidden-apis: Don't need java.solr.txt file [solr]

2025-03-17 Thread via GitHub


github-actions[bot] closed pull request #2866: forbidden-apis: Don't need 
java.solr.txt file
URL: https://github.com/apache/solr/pull/2866


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[jira] [Comment Edited] (SOLR-17584) Remove code and documentation for "trusted"configsets

2025-03-17 Thread Abhishek Umarjikar (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936313#comment-17936313
 ] 

Abhishek Umarjikar edited comment on SOLR-17584 at 3/17/25 9:24 PM:


[~epugh] Added my comment on that.


was (Author: JIRAUSER309064):
[~epugh] Added my comment on that.
[~gerlowskija] wanted some clarity on whether we need to consider the 
*requestIsTrusted* as part of the trustedness logic.

> Remove code and documentation for "trusted"configsets
> -
>
> Key: SOLR-17584
> URL: https://issues.apache.org/jira/browse/SOLR-17584
> Project: Solr
>  Issue Type: Improvement
>  Components: configset-api, security
>Reporter: Jason Gerlowski
>Priority: Minor
>  Labels: newdev, pull-request-available
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> SOLR-16781 removed the ability for configsets to load code and resources 
> using "" directives.
> These (now removed) "" directives were the primary motivation for the 
> trusted/untrusted configset distinction that was evolved over time to 
> restrict which configs/collections could load external libraries.  Now that 
> they're gone, we should remove code and documentation related to the 
> trusted/untrusted distinction.
> Technically, several components (XSLTUpdateRequestHandler, 
> ScriptUpdateRequestProcessor) still check configset "trustedness" when being 
> loaded.  But both of these components require enabling a module at startup 
> time (e.g. {{SOLR_MODULES=scripting}}.  And if an administrator has already 
> put these things on the classpath, layering "trustedness" on top of that 
> doesn't seem to add any value or security. (Especially given that the 
> "trustedness" determination itself probably shouldn't be relied on, due to 
> the number of gaps found in it over the years.  In fact this is the main 
> motivation for the recent removal of  in the first place.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] Deprecations [solr]

2025-03-17 Thread via GitHub


dsmiley merged PR #3159:
URL: https://github.com/apache/solr/pull/3159


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] forbidden-apis: Don't need java.solr.txt file [solr]

2025-03-17 Thread via GitHub


github-actions[bot] commented on PR #2866:
URL: https://github.com/apache/solr/pull/2866#issuecomment-2731223120

   This PR is now closed due to 60 days of inactivity after being marked as 
stale.  Re-opening this PR is still possible, in which case it will be marked 
as active again.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17699: Fix frange perf regression when sub-clause [solr]

2025-03-17 Thread via GitHub


dsmiley merged PR #3259:
URL: https://github.com/apache/solr/pull/3259


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[jira] [Commented] (SOLR-17584) Remove code and documentation for "trusted"configsets

2025-03-17 Thread Abhishek Umarjikar (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936208#comment-17936208
 ] 

Abhishek Umarjikar commented on SOLR-17584:
---

Hey [~gerlowskija], Can i work on this? I have seen the isConfigSetTrusted 
being used with the trusted request.

> Remove code and documentation for "trusted"configsets
> -
>
> Key: SOLR-17584
> URL: https://issues.apache.org/jira/browse/SOLR-17584
> Project: Solr
>  Issue Type: Improvement
>  Components: configset-api, security
>Reporter: Jason Gerlowski
>Priority: Minor
>  Labels: newdev
>
> SOLR-16781 removed the ability for configsets to load code and resources 
> using "" directives.
> These (now removed) "" directives were the primary motivation for the 
> trusted/untrusted configset distinction that was evolved over time to 
> restrict which configs/collections could load external libraries.  Now that 
> they're gone, we should remove code and documentation related to the 
> trusted/untrusted distinction.
> Technically, several components (XSLTUpdateRequestHandler, 
> ScriptUpdateRequestProcessor) still check configset "trustedness" when being 
> loaded.  But both of these components require enabling a module at startup 
> time (e.g. {{SOLR_MODULES=scripting}}.  And if an administrator has already 
> put these things on the classpath, layering "trustedness" on top of that 
> doesn't seem to add any value or security. (Especially given that the 
> "trustedness" determination itself probably shouldn't be relied on, due to 
> the number of gaps found in it over the years.  In fact this is the main 
> motivation for the recent removal of  in the first place.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] SOLR-17706 SolrJ DocumentObjectBinder, make a singleton [solr]

2025-03-17 Thread via GitHub


epugh commented on code in PR #3271:
URL: https://github.com/apache/solr/pull/3271#discussion_r1998680285


##
solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java:
##
@@ -147,7 +147,7 @@ private void testJoins(String toColl, String fromColl, 
String toDocId, boolean i
   + fromQ;
   QueryRequest qr =
   new QueryRequest(params("collection", toColl, "q", joinQ, "fl", 
"id,get_s,score"));
-  QueryResponse rsp = new QueryResponse(client.request(qr), client);
+  QueryResponse rsp = qr.process(client);

Review Comment:
   I love all these changes, much clearer



##
solr/CHANGES.txt:
##
@@ -160,6 +160,9 @@ Other Changes
   thus BinaryQueryResponseWriter is gone.  Added TextQueryResponseWriter for 
the text ones.
   Stopped using RawResponseWriter when not needed.  (David Smiley)
 
+* SOLR-17706: SolrJ DocumentObjectBinder is now a global singleton via an 
INSTANCE field and that

Review Comment:
   "and is pluggable".   Out of curisotiy, do you want to say it is pluggable 
if it hasn't been tested?



##
solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java:
##
@@ -41,13 +42,22 @@
 import org.apache.solr.common.util.SuppressForbidden;
 
 /**
- * A class to map objects to and from solr documents.
+ * Maps objects to and from Solr documents.

Review Comment:
   nice!



##
solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java:
##
@@ -643,9 +631,7 @@ public List getLimitingFacets() {
   }
 
   public  List getBeans(Class type) {
-return solrClient == null
-? new DocumentObjectBinder().getBeans(type, _results)
-: solrClient.getBinder().getBeans(type, _results);
+return DocumentObjectBinder.INSTANCE.getBeans(type, _results);

Review Comment:
   much nicer!  Love there isn't two ways to get it...



##
solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java:
##
@@ -102,21 +101,10 @@ public class QueryResponse extends SolrResponseBase {
   private Map _debugMap = null;
   private Map _explainMap = null;
 
-  // utility variable used for automatic binding -- it should not be serialized
-  private final transient SolrClient solrClient;
+  public QueryResponse() {}
 
-  public QueryResponse() {
-solrClient = null;
-  }
-
-  /** Utility constructor to set the solrServer and namedList */
-  public QueryResponse(NamedList res, SolrClient solrClient) {
+  public QueryResponse(NamedList res) {

Review Comment:
   I love this, but also, does this need to be deprecated and or flagged?  
Seems like a big method chagne?



##
solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java:
##
@@ -126,18 +136,12 @@ private void addChild(Object obj, DocField field, 
SolrInputDocument doc) {
   }
 
   private List getDocFields(Class clazz) {

Review Comment:
   much shorter, and actually is easier to read...



##
solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java:
##
@@ -62,7 +62,7 @@ public String getPath() {
 
   @Override
   protected QueryResponse createResponse(SolrClient client) {
-return new QueryResponse(client);
+return new QueryResponse();

Review Comment:
   does the fact that this takes in a `client` but does not use it need to be 
documented?  Just reading it, I would think "thats weried"..



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17043: Remove SolrClient path pattern matching [solr]

2025-03-17 Thread via GitHub


jkmuriithi commented on code in PR #3238:
URL: https://github.com/apache/solr/pull/3238#discussion_r1999136119


##
solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java:
##
@@ -185,8 +193,21 @@ public void setQueryParams(Set queryParams) {
 this.queryParams = queryParams;
   }
 
-  /** This method defines the type of this Solr request. */
-  public abstract String getRequestType();
+  /**
+   * The type of this Solr request.
+   *
+   * Pattern matches {@link SolrRequest#getPath} to identify ADMIN requests 
and other special
+   * cases. Overriding this method may affect request routing within various 
clients (i.e. {@link
+   * CloudSolrClient}).
+   */
+  public SolrRequestType getRequestType() {
+String path = getPath();
+if (path != null && CommonParams.ADMIN_PATHS.contains(path)) {

Review Comment:
   The reason this is necessary at the moment is because of this pattern, which 
is present in several unit tests across the codebase (example from 
[TestReplicationHandler](https://github.com/apache/solr/blob/af97ef7037aec0c1fb028e173b6d8931cd12588d/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java#L221-L225)):
   ```java
   ModifiableSolrParams params = new ModifiableSolrParams();
   params.set("action", "reload");
   params.set("core", core);
   params.set("qt", "/admin/cores");
   QueryRequest req = new QueryRequest(params);
   ```
   Doing pattern matching on `getPath` allows this type of path manipulation to 
"just work" with `CloudSolrClient`, at the cost of introducing more complexity 
into `SolrRequest`. I considered going through and changing each instance of 
this pattern across all unit tests, but I felt like it might expand the scope 
of the PR a bit too much.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [I] Zk-setup error [solr-operator]

2025-03-17 Thread via GitHub


gerlowskija commented on issue #759:
URL: https://github.com/apache/solr-operator/issues/759#issuecomment-2730337103

   Thanks for reporting @idjemaoune !  We've fixed this, and it will be 
available in an 0.9.1 release we're working on shortly!


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17706 SolrJ DocumentObjectBinder, make a singleton [solr]

2025-03-17 Thread via GitHub


dsmiley commented on code in PR #3271:
URL: https://github.com/apache/solr/pull/3271#discussion_r1999323063


##
solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java:
##
@@ -147,7 +147,7 @@ private void testJoins(String toColl, String fromColl, 
String toDocId, boolean i
   + fromQ;
   QueryRequest qr =
   new QueryRequest(params("collection", toColl, "q", joinQ, "fl", 
"id,get_s,score"));
-  QueryResponse rsp = new QueryResponse(client.request(qr), client);
+  QueryResponse rsp = qr.process(client);

Review Comment:
   cool; in this and similar cases, I was just using SolrJ idiomatically 
irrespective of this PR's objective.  Given a request, if you want it's typed 
response, you use the `process` method.  That's the *right* way to do it.



##
solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java:
##
@@ -102,21 +101,10 @@ public class QueryResponse extends SolrResponseBase {
   private Map _debugMap = null;
   private Map _explainMap = null;
 
-  // utility variable used for automatic binding -- it should not be serialized
-  private final transient SolrClient solrClient;
+  public QueryResponse() {}
 
-  public QueryResponse() {
-solrClient = null;
-  }
-
-  /** Utility constructor to set the solrServer and namedList */
-  public QueryResponse(NamedList res, SolrClient solrClient) {
+  public QueryResponse(NamedList res) {

Review Comment:
   Users shouldn't be using this constructor; it's for SolrJ internals.



##
solr/CHANGES.txt:
##
@@ -160,6 +160,9 @@ Other Changes
   thus BinaryQueryResponseWriter is gone.  Added TextQueryResponseWriter for 
the text ones.
   Stopped using RawResponseWriter when not needed.  (David Smiley)
 
+* SOLR-17706: SolrJ DocumentObjectBinder is now a global singleton via an 
INSTANCE field and that

Review Comment:
   I will test it manually before merging



##
solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java:
##
@@ -62,7 +62,7 @@ public String getPath() {
 
   @Override
   protected QueryResponse createResponse(SolrClient client) {
-return new QueryResponse(client);
+return new QueryResponse();

Review Comment:
   No.  Only one place in Solr does it use it, aside from this spot.  So *not* 
using it is in fact the norm.  IMO it shouldn't even be on the `createResponse` 
API contract in the first place.  My other PR created yesterday makes that 
change.



##
solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java:
##
@@ -126,18 +136,12 @@ private void addChild(Object obj, DocField field, 
SolrInputDocument doc) {
   }
 
   private List getDocFields(Class clazz) {

Review Comment:
   Yeah I "had" to make this change; was begging for it.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17043: Remove SolrClient path pattern matching [solr]

2025-03-17 Thread via GitHub


dsmiley commented on code in PR #3238:
URL: https://github.com/apache/solr/pull/3238#discussion_r1999342437


##
solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java:
##
@@ -185,8 +193,21 @@ public void setQueryParams(Set queryParams) {
 this.queryParams = queryParams;
   }
 
-  /** This method defines the type of this Solr request. */
-  public abstract String getRequestType();
+  /**
+   * The type of this Solr request.
+   *
+   * Pattern matches {@link SolrRequest#getPath} to identify ADMIN requests 
and other special
+   * cases. Overriding this method may affect request routing within various 
clients (i.e. {@link
+   * CloudSolrClient}).
+   */
+  public SolrRequestType getRequestType() {
+String path = getPath();
+if (path != null && CommonParams.ADMIN_PATHS.contains(path)) {

Review Comment:
   Those unit tests are then "wrong".  QueryRequest is only for a query, not 
requests generally.  It's parameterized response type is QueryResponse holding 
all the interesting information from `/select`.  Note that, unfortunately, some 
classes in Solr include the word "Query"  when it shouldn't but QueryRequest 
isn't one of them.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17043: Remove SolrClient path pattern matching [solr]

2025-03-17 Thread via GitHub


jkmuriithi commented on code in PR #3238:
URL: https://github.com/apache/solr/pull/3238#discussion_r1999394354


##
solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java:
##
@@ -185,8 +193,21 @@ public void setQueryParams(Set queryParams) {
 this.queryParams = queryParams;
   }
 
-  /** This method defines the type of this Solr request. */
-  public abstract String getRequestType();
+  /**
+   * The type of this Solr request.
+   *
+   * Pattern matches {@link SolrRequest#getPath} to identify ADMIN requests 
and other special
+   * cases. Overriding this method may affect request routing within various 
clients (i.e. {@link
+   * CloudSolrClient}).
+   */
+  public SolrRequestType getRequestType() {
+String path = getPath();
+if (path != null && CommonParams.ADMIN_PATHS.contains(path)) {

Review Comment:
   The primary consequence of misclassifying requests is that it changes how 
the requests are routed in `CloudSolrClient` due to this [code 
block](https://github.com/apache/solr/blob/af97ef7037aec0c1fb028e173b6d8931cd12588d/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java#L1027-L1134).
 If an `ADMIN` request is routed like a non-ADMIN request, or vice-versa, the 
result is a 404 when using this client. My apologies for not being more 
specific about this.
   
   The root cause of the problem seems to be that `ADMIN` endpoint URLs are 
constructed this way:
   ```java
   final var nodeBaseUrl = Utils.getBaseUrlForNodeName(liveNode, urlScheme);
   requestEndpoints.add(new LBSolrClient.Endpoint(nodeBaseUrl));
   ```
   
   while typical endpoint URLs are constructed this way:
   ```java
   String joinedInputCollections = StrUtils.join(inputCollections, ',');
   final var endpoints =
   preferredNodes.stream()
   .map(nodeName -> Utils.getBaseUrlForNodeName(nodeName, urlScheme))
   .map(nodeUrl -> new LBSolrClient.Endpoint(nodeUrl, 
joinedInputCollections))
   .collect(Collectors.toList());
   ```
   So request type is being used to determine whether or not to include the 
name of the collection in the final endpoint URL.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Test fix: SolrExporterTestBase, port bind [solr]

2025-03-17 Thread via GitHub


dsmiley commented on PR #3269:
URL: https://github.com/apache/solr/pull/3269#issuecomment-2730498458

   will merge tomorrow.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-10998: Obey 'Accept' header in v2 APIs [solr]

2025-03-17 Thread via GitHub


gerlowskija commented on PR #3262:
URL: https://github.com/apache/solr/pull/3262#issuecomment-2729650633

   > a test would be nice
   
   Tests added in `V2ApiIntegrationTest`
   
   > It's a mystery to me how this PR accomplishes that goal.
   
   Really it doesn't.  Jersey will parse the "Accept" header out of the box, 
and choose a "MessageBodyWriter" (akin to our ResponseWriter") based on that.  
But I'd hidden this support in the past by creating a "response filter" 
(`MediaTypeOverridingFilter`) to key off of only the 'wt' parameter.
   
   So what this PR is really doing is tweaking `MediaTypeOverridingFilter` to 
be slightly less aggressive.  It still obeys "wt" when provided, and makes sure 
that JSON is the default otherwise.  But now it only leans on that "JSON" 
default when there's no  "wt" AND there's no "Accept" header.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Fix upgrade to v0.9 by updating pod readiness gates [solr-operator]

2025-03-17 Thread via GitHub


HoustonPutman merged PR #766:
URL: https://github.com/apache/solr-operator/pull/766


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[jira] [Commented] (SOLR-17518) Refactor out a XmlRequestWriter so that RequestWriter is abstract

2025-03-17 Thread Pierre Salagnac (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936277#comment-17936277
 ] 

Pierre Salagnac commented on SOLR-17518:


Thanks for pointing this [~dsmiley].

There is indeed a small compilation change, where old code that was creating a 
new {{RequestWriter}} will now have to create a new {{{}XMLRequestWriter{}}}.

That's unclear to me that we require a *strict* compilation backward 
compatibility between minor versions. When we do Lucene upgrade in Solr for 
example, we do have to handle some minor changes to get everything compiling 
with the new version. My understanding was that's acceptable to require some 
similar change with a new SolrJ version.

The required change here would be a very simple renaming, which does not force 
a SolrJ user to redesign and rewrite some more complex code. There is no 
feature drop. Maybe that's a good opportunity to have a broader discussion on 
what is required for backward compatibility and write guidelines?

 

About your comment on the {{CHANGES.txt}} entry, that's fair it does not 
mention the replacement of the class. I will expand it (assuming we keep the 
change as it is).

> Refactor out a XmlRequestWriter so that RequestWriter is abstract
> -
>
> Key: SOLR-17518
> URL: https://issues.apache.org/jira/browse/SOLR-17518
> Project: Solr
>  Issue Type: Task
>  Components: SolrJ
>Reporter: David Smiley
>Assignee: Pierre Salagnac
>Priority: Minor
>  Labels: newdev, pull-request-available
> Fix For: main (10.0), 9.9
>
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> RequestWriter writes XML; some subclasses write other things.  This is 
> terrible API design; the XML choice should be a subclass, RequestWriter 
> should be abstract (or an interface).
> While we're at this, the XML generation is kind of split into multiple 
> places; it should be consolidated: UpdateRequest & ClientUtils have XML 
> generation methods.  Those methods should move to the new XmlRequestWriter.
> BinaryRequestWriter should probably be final and/or ensure the CBOR one does 
> not subclass it, which is weird since CBOR != "javabin".
> Be sure to note this refactoring in the update notes since SolrJ users will 
> be impacted.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] SOLR-17584: Remove code and documentation for "trusted" configsets [solr]

2025-03-17 Thread via GitHub


epugh commented on code in PR #3272:
URL: https://github.com/apache/solr/pull/3272#discussion_r1999448274


##
solr/core/src/java/org/apache/solr/handler/configsets/ConfigSetAPIBase.java:
##
@@ -134,24 +134,9 @@ protected void createBaseNode(
   throws IOException {
 if (overwritesExisting) {
   if (!requestIsTrusted) {
-ensureOverwritingUntrustedConfigSet(configName);
+throw new SolrException(

Review Comment:
   does this go away?



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Allow disabling new UI module during builds [solr]

2025-03-17 Thread via GitHub


malliaridis commented on PR #3261:
URL: https://github.com/apache/solr/pull/3261#issuecomment-2730571960

   > Can we not just move away from Kotlin? I am not happy that we have a mixed 
build. Either all in Kotlin or nothing.
   
   When it comes to the build stuff, I think it would be a good idea to move 
from Groovy to Kotlin, step by step, as stated in 
[SOLR-17572](https://issues.apache.org/jira/browse/SOLR-17572). The current 
issues are as far as I know caused by the UI module that makes use of the 
Kotlin Multiplatform plugin.
   
   I also do not like the idea of disabling a module that is in our project, 
and these changes are not solving the actual issue. :/


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17584: Remove code and documentation for "trusted" configsets [solr]

2025-03-17 Thread via GitHub


epugh commented on PR #3272:
URL: https://github.com/apache/solr/pull/3272#issuecomment-2730588857

   I triggered the various tests...   Can you update the link in the 
description to have teh JIRA?  that is how we link the PR to the JIRA.
   


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Allow disabling new UI module during builds [solr]

2025-03-17 Thread via GitHub


uschindler commented on PR #3261:
URL: https://github.com/apache/solr/pull/3261#issuecomment-2730592621

   P.S.: At moment the Policeman Jenkins Server is undergoing hardware upgrade 
(moves to new server at Hetzner data center). It will return back to life later 
this evening.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Allow disabling new UI module during builds [solr]

2025-03-17 Thread via GitHub


uschindler commented on PR #3261:
URL: https://github.com/apache/solr/pull/3261#issuecomment-2730591034

   Hi,
   ok makes sense. Generally I agree to move the Gradle build at some point to 
kotlin, but I don't see this as an important step. This should be done together 
with Lucene to again make use of each other. Generally the Lucene (and Solr 
build) was invented by @dweiss. I don't think that it is a simple replacement, 
because there is a lot of special thing especially to correctly compile 
MR-JARS, JavaModule-System builds (not correctly supported in Gradle at all, 
too much magic that breaks heavily).
   
   I was not aware that the issues come from the kotlin compiler for the user 
code, sorry. If that's the only issue I think the compiler-config in the 
runtime-java-home support can possibly be adapted to work correct witzh 
alternative JDKs. The problem is maybe only that some information is not 
exposed by our hack that's needed by kotlin.
   
   Uwe


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Allow disabling new UI module during builds [solr]

2025-03-17 Thread via GitHub


uschindler commented on PR #3261:
URL: https://github.com/apache/solr/pull/3261#issuecomment-2730653908

   > P.S.: At moment the Policeman Jenkins Server is undergoing hardware 
upgrade (moves to new server at Hetzner data center). It will return back to 
life later this evening.
   
   And it's back at work :-) While I was writing my latest mail the migration 
to it's final datacenter location with its old IPv4 adresses and IPv6 subnets 
was done.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-10998: Obey 'Accept' header in v2 APIs [solr]

2025-03-17 Thread via GitHub


dsmiley commented on code in PR #3262:
URL: https://github.com/apache/solr/pull/3262#discussion_r1999537597


##
solr/core/src/test/org/apache/solr/handler/V2ApiIntegrationTest.java:
##
@@ -139,6 +144,52 @@ public void testWTParam() throws Exception {
 assertEquals(respString, 0, Utils.getObjectByPath(resp, true, 
"/responseHeader/status"));
   }
 
+  @Test
+  public void testObeysWtParameterWhenProvided() throws Exception {
+final var httpClient = getRawClient();
+final var listCollRequest = getListCollectionsRequest();
+listCollRequest.setURI(
+new URIBuilder(listCollRequest.getURI()).addParameter("wt", 
"xml").build());
+
+final var response = httpClient.execute(listCollRequest);
+
+assertEquals(200, response.getStatusLine().getStatusCode());
+assertEquals("application/xml", 
response.getFirstHeader("Content-type").getValue());
+  }
+
+  @Test
+  public void testObeysAcceptHeaderWhenWtParamNotProvided() throws Exception {
+final var httpClient = getRawClient();
+final var listCollRequest = getListCollectionsRequest();
+listCollRequest.addHeader("Accept", "application/xml");
+
+final var response = httpClient.execute(listCollRequest);
+
+assertEquals(200, response.getStatusLine().getStatusCode());
+assertEquals("application/xml", 
response.getFirstHeader("Content-type").getValue());
+  }
+
+  @Test
+  public void testRespondsWithJsonWhenWtAndAcceptAreMissing() throws Exception 
{
+final var httpClient = getRawClient();
+final var listCollRequest = getListCollectionsRequest();
+
+final var response = httpClient.execute(listCollRequest);
+
+assertEquals(200, response.getStatusLine().getStatusCode());
+assertEquals("application/json", 
response.getFirstHeader("Content-type").getValue());
+  }
+
+  private HttpClient getRawClient() {
+return ((CloudLegacySolrClient) cluster.getSolrClient()).getHttpClient();
+  }

Review Comment:
   We're trying to get away from Apache HttpClient.  Can you please try Jetty 
HttpClient instead?



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17043: Remove SolrClient path pattern matching [solr]

2025-03-17 Thread via GitHub


jkmuriithi commented on code in PR #3238:
URL: https://github.com/apache/solr/pull/3238#discussion_r1999402882


##
solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java:
##
@@ -185,8 +193,21 @@ public void setQueryParams(Set queryParams) {
 this.queryParams = queryParams;
   }
 
-  /** This method defines the type of this Solr request. */
-  public abstract String getRequestType();
+  /**
+   * The type of this Solr request.
+   *
+   * Pattern matches {@link SolrRequest#getPath} to identify ADMIN requests 
and other special
+   * cases. Overriding this method may affect request routing within various 
clients (i.e. {@link
+   * CloudSolrClient}).
+   */
+  public SolrRequestType getRequestType() {
+String path = getPath();
+if (path != null && CommonParams.ADMIN_PATHS.contains(path)) {

Review Comment:
   Some pattern matching is necessary here to make the APIs work as intended. 
Moving that logic to `SolrRequest` seemed like a good idea when I first made 
this change, but I am kind of second-guessing that now.



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17584: Remove code and documentation for "trusted" configsets [solr]

2025-03-17 Thread via GitHub


epugh commented on code in PR #3272:
URL: https://github.com/apache/solr/pull/3272#discussion_r1999447867


##
solr/core/src/java/org/apache/solr/handler/configsets/CloneConfigSet.java:
##
@@ -64,8 +64,8 @@ public SolrJerseyResponse 
cloneExistingConfigSet(CloneConfigsetRequestBody reque
 }
 
 if (!DISABLE_CREATE_AUTH_CHECKS
-&& !isTrusted(solrQueryRequest.getUserPrincipal(), 
coreContainer.getAuthenticationPlugin())
-&& configSetService.isConfigSetTrusted(requestBody.baseConfigSet)) {
+&& !isTrusted(

Review Comment:
   does `!isTrusted` staty?



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[jira] [Commented] (SOLR-17584) Remove code and documentation for "trusted"configsets

2025-03-17 Thread Eric Pugh (Jira)


[ 
https://issues.apache.org/jira/browse/SOLR-17584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936283#comment-17936283
 ] 

Eric Pugh commented on SOLR-17584:
--

[~aumarjikar] thanks for the PR!  i put some feedback in.

> Remove code and documentation for "trusted"configsets
> -
>
> Key: SOLR-17584
> URL: https://issues.apache.org/jira/browse/SOLR-17584
> Project: Solr
>  Issue Type: Improvement
>  Components: configset-api, security
>Reporter: Jason Gerlowski
>Priority: Minor
>  Labels: newdev, pull-request-available
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> SOLR-16781 removed the ability for configsets to load code and resources 
> using "" directives.
> These (now removed) "" directives were the primary motivation for the 
> trusted/untrusted configset distinction that was evolved over time to 
> restrict which configs/collections could load external libraries.  Now that 
> they're gone, we should remove code and documentation related to the 
> trusted/untrusted distinction.
> Technically, several components (XSLTUpdateRequestHandler, 
> ScriptUpdateRequestProcessor) still check configset "trustedness" when being 
> loaded.  But both of these components require enabling a module at startup 
> time (e.g. {{SOLR_MODULES=scripting}}.  And if an administrator has already 
> put these things on the classpath, layering "trustedness" on top of that 
> doesn't seem to add any value or security. (Especially given that the 
> "trustedness" determination itself probably shouldn't be relied on, due to 
> the number of gaps found in it over the years.  In fact this is the main 
> motivation for the recent removal of  in the first place.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] SOLR-17584: Remove code and documentation for "trusted" configsets [solr]

2025-03-17 Thread via GitHub


dsmiley commented on PR #3272:
URL: https://github.com/apache/solr/pull/3272#issuecomment-2730605024

   when posting a PR, please update the JIRA link.  As to the rest of the PR 
template; remove it if you aren't going to fill it out (no judgement from me)


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] SOLR-17682: Rename BinaryResponseWriter to JavaBinResponseWriter [solr]

2025-03-17 Thread via GitHub


dsmiley commented on PR #3267:
URL: https://github.com/apache/solr/pull/3267#issuecomment-2730624610

   I'll merge in a couple days.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [I] Scaling Down Causes "Down" Replicas [solr-operator]

2025-03-17 Thread via GitHub


jstaf commented on issue #754:
URL: https://github.com/apache/solr-operator/issues/754#issuecomment-2730822715

   I saw something similar happen when running out of disk space. Basically 
solr-operator (or something) started continuously adding replicas which broke a 
few collections badly enough they needed to be restored from backups.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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