Re: [I] Basic Auth Bootstrap Not Working In 0.9.0 [solr-operator]
ibraheemalayan commented on issue #755: URL: https://github.com/apache/solr-operator/issues/755#issuecomment-2639565683 ⭕️ UPDATE: I deleted the SolrCloud, recreated it with Solr `8.11.4` and it worked, then deleted that, and created with `9.6.1` and it also worked. So I deleted it again (**without deleting the PVCs**) and recreated it with `9.8.0` and it worked. But clearly there is an issue with `9.8.0` -- 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] Make PGP signing the release announcement optional [solr]
janhoy opened a new pull request, #3161: URL: https://github.com/apache/solr/pull/3161 As discussed in slack https://the-asf.slack.com/archives/CEKUCUNE9/p1738760259166169 I opted to keep the instructions in the wizard but clearly mark it as optional, skipping the S/MIME email client stuff and focusing only on gpg command line clearsign option. Not ran the wizard after this change so may be formatting bugs... -- 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
[I] Basic Auth Bootstrap Not Working In 0.9.0 [solr-operator]
ibraheemalayan opened a new issue, #755: URL: https://github.com/apache/solr-operator/issues/755 Hi, I have a very simple SolrCloud config file as follows ```yaml # specs: https://apache.github.io/solr-operator/docs/solr-cloud/solr-cloud-crd.html apiVersion: solr.apache.org/v1beta1 kind: SolrCloud metadata: name: search-cluster spec: # change the date below to trigger a manual restart customSolrKubeOptions: podOptions: annotations: manualrestart: "2025-02-06T07:57:00Z" replicas: 2 solrJavaMem: -Xms512M -Xmx1G solrImage: tag: 9.8.0 solrSecurity: authenticationType: Basic dataStorage: persistent: reclaimPolicy: Delete pvcTemplate: spec: resources: requests: storage: 6Gi solrAddressability: podPort: 8983 commonServicePort: 8983 ``` as you can see, basic auth is supposed to be enabled, yet the cluster has no authentication. https://github.com/user-attachments/assets/a07aa96f-b0b9-4979-bbe0-3fcbe2462576"; /> https://github.com/user-attachments/assets/ce52640f-a751-4fdd-aa87-8cc3afe9bd9b"; /> I tried deleting the SolrCloud and recreating it multiple times ( also deleted all PVCs ), the security.json is always empty The bootstrape security.json secret is created but it seems like its never used. Here some debugging commands and their outputs, might help understand the issue: >```bash >kubectl get pods | grep solr >``` ``` search-cluster-solrcloud-0 1/1 Running 0 8m search-cluster-solrcloud-1 1/1 Running 0 15m search-cluster-solrcloud-zookeeper-01/1 Running 0 15m search-cluster-solrcloud-zookeeper-11/1 Running 0 14m search-cluster-solrcloud-zookeeper-21/1 Running 0 14m solr-operator-65bd76858c-dj54z 1/1 Running 0 4d12h solr-operator-zookeeper-operator-7cf584d8b6-5vlzr 1/1 Running 0 4d12h ``` >```bash >kubectl get secrets >``` ``` search-cluster-solrcloud-basic-auth kubernetes.io/basic-auth 2 16m search-cluster-solrcloud-security-bootstrap Opaque 3 16m sh.helm.release.v1.solr-operator.v1 helm.sh/release.v1 1 7d23h ``` >```bash >kubectl get secrets/search-cluster-solrcloud-basic-auth -o yaml >``` ``` apiVersion: v1 data: password: amkodUctamRWYTJIM3cpRg== username: azhzLW9wZXI= kind: Secret metadata: creationTimestamp: "2025-02-06T10:09:01Z" labels: solr-cloud: search-cluster name: search-cluster-solrcloud-basic-auth namespace: default ownerReferences: - apiVersion: solr.apache.org/v1beta1 blockOwnerDeletion: true controller: true kind: SolrCloud name: search-cluster uid: 0f94b8ff-134f-459c-903f-cc9a8312992e resourceVersion: "38390607" uid: feeb1481-474c-48bb-bbd4-4c3805e6a9bf type: kubernetes.io/basic-auth ``` >```bash > kubectl get secrets/search-cluster-solrcloud-security-bootstrap -o yaml > ``` ``` apiVersion: v1 data: admin: clUlcyVGQVtTQiN1aEdAUw== security.json: ewogICAgICAiYXV0aGVudGljYXRpb24iOnsKICAgICAgICAiYmxvY2tVbmtub3duIjogZmFsc2UsCiAgICAgICAgImNsYXNzIjoic29sci5CYXNpY0F1dGhQbHVnaW4iLAogICAgICAgICJjcmVkZW50aWFscyI6IHsiYWRtaW4iOiJDYldWUVV6L1ZjTFdpczQreUpCUEpYMlg5OXg4YWYyMUhuV1hVOGJEc0hBPSAxTWhMaEJtRzZWUmx2M3NPOHZMZHFybjV6d3UxTXRKOXVMWmhUMi84S1Q0PSIsIms4cy1vcGVyIjoiNkxBLzdNbHk1T0NTaVpOeWFheHhJQ1RTa3FrbGZkWXpGSW40QXBONFlVaz0gWndBT3RYaENtYnhZenhNbHB5VGR1dU5jbjZWTC9DK0ZtREZ4NkhseVRvVT0iLCJzb2xyIjoiRE9IMmxUdnh5aEFtdFZpVEloVDYvT2hkd3E4eVQzOFhNNUhPckp3eHNrRT0gWDBHakVUUXY5eGhmYVF1dGRyQkRhU3dBSVdMd0VFd2hLRXV0YXJxdWd0UT0ifSwKICAgICAgICAicmVhbG0iOiJTb2xyIEJhc2ljIEF1dGgiLAogICAgICAgICJmb3J3YXJkQ3JlZGVudGlhbHMiOiBmYWxzZQogICAgICB9LAogICAgICAiYXV0aG9yaXphdGlvbiI6IHsKICAgICAgICAiY2xhc3MiOiAic29sci5SdWxlQmFzZWRBdXRob3JpemF0aW9uUGx1Z2luIiwKICAgICAgICAidXNlci1yb2xlIjogewogICAgICAgICAgImFkbWluIjogWyJhZG1pbiIsICJrOHMiXSwKICAgICAgICAgICJrOHMtb3BlciI6IFsiazhzIl0sCiAgICAgICAgICAic29sciI6IFsidXNlcnMiLCAiazhzIl0KICAgICAgICB9LAogICAgICAgICJwZX JtaXNzaW9ucyI6IFsKICAgICAgICAgIHsgIm5hbWUiOiAiazhzLXByb2JlLTAiLCAicm9sZSI6bnVsbCwgImNvbGxlY3Rpb24iOiBudWxsLCAicGF0aCI6Ii9hZG1pbi9pbmZvL3N5c3RlbSIgfSwgeyAibmFtZSI6ICJrOHMtcHJvYmUtMSIsICJyb2xlIjpudWxsLCAiY29sbGVjdGlvbiI6IG51bGwsICJwYXRoIjoiL2FkbWluL2luZm8vaGVhbHRoIiB9LAogICAgICAgICAgeyAibmFtZSI6ICJrOHMtc3RhdHVzIiwgInJvbGUiOiJrOHMiLCAiY29sbGVjdGlvbiI6IG51bGwsICJwYXRoIjoiL2FkbWluL2NvbGxlY3Rpb25zIiB9LAogICAgICAgICAgeyAibmFtZSI6ICJrOHMtbWV0cmljcyIsICJyb2xlIjoiazhzIiwgImNvbGxlY3Rpb24iOiBudWxsLCAicGF0aCI6Ii9hZG1pbi9tZXRyaWNzI
Re: [PR] SOLR-17649: Fix Json faceting on multivalue number types [solr]
thomaswoeckinger commented on code in PR #3158: URL: https://github.com/apache/solr/pull/3158#discussion_r1944322475 ## solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java: ## @@ -4907,6 +4907,38 @@ public void testQueryJoinBooksAndPages() throws Exception { + ", books2:{ buckets:[ {val:q,count:1}, {val:w,count:1} ] }" + "}"); } + + @Test + public void testMultivalueEnumTypes() throws Exception { +final Client client = Client.localClient(); + +final SolrParams p = params("rows", "0"); + +client.deleteByQuery("*:*", null); + +List docsToAdd = new ArrayList<>(6); Review Comment: I tried but this will make the test more complicated as SolrTestCaseHS.Client does not keep a SolrClient and uses null therefore in internal API calls, may you have an hint for that, but the whole test class is not using an UpdateRequest -- 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-17649) Multivalue facets on enum field type returns empty result when using JsonFacet API
[ https://issues.apache.org/jira/browse/SOLR-17649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17924430#comment-17924430 ] Thomas Wöckinger commented on SOLR-17649: - > Might you surmise how this regression came to be? As the FacetFieldProcessor* exists for a very long time, i think the issue can only be introduced by refactoring of FacetField.{color:#232629}{color:#00}createFacetProcessor or its hierarchy. It seems that the issue is in there from beginning of the 9x branch.{color}{color} > Multivalue facets on enum field type returns empty result when using > JsonFacet API > -- > > Key: SOLR-17649 > URL: https://issues.apache.org/jira/browse/SOLR-17649 > Project: Solr > Issue Type: Bug > Components: Facet Module, FacetComponent, faceting >Affects Versions: 9.4, 9.5, 9.4.1, 9.6, 9.7, 9.6.1, 9.8 >Reporter: Thomas Wöckinger >Priority: Major > Labels: pull-request-available > Time Spent: 1h > Remaining Estimate: 0h > > When using JsonFacet API on a multivalued EnumFieldType with facet method > 'enum' the {color:#232629}FacetFieldProcessorByArrayDV{color} will be used. > At line 96 ({color:#232629}FacetFieldProcessorByArrayDV.java){color} there is > a check about allBuckets or missing buckets, which simply skip collect > process. > So at the moment there is no support for Multivalue faceting on facets which > are using FacetFieldProcessorByArrayDV facet processor for collecting facets. > Tested this behavior from 9.4 onwards, this feature was working on the 8.x > releases. > Multivalue faceting on EnumFieldType should be supported again. -- 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] SolrRequest.getParams never null; and clarify mutability [solr]
dsmiley commented on PR #3140: URL: https://github.com/apache/solr/pull/3140#issuecomment-2640800039 Planning on merging this tomorrow night. LMK if I should hold up. -- 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-17635: unmarshalling Map to SimpleOrderedMap if key i of type St… [solr]
renatoh opened a new pull request, #3163: URL: https://github.com/apache/solr/pull/3163 …ring https://issues.apache.org/jira/browse/SOLR-17635 # 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-17635) javabin should deserialize maps as SimpleOrderedMap
[ https://issues.apache.org/jira/browse/SOLR-17635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated SOLR-17635: -- Labels: pull-request-available (was: ) > javabin should deserialize maps as SimpleOrderedMap > --- > > Key: SOLR-17635 > URL: https://issues.apache.org/jira/browse/SOLR-17635 > Project: Solr > Issue Type: Improvement >Reporter: David Smiley >Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > Once SimpleOrderedMap actually implements Map (SOLR-17623), Solr's "javabin" > format should deserialize all maps as a SimpleOrderedMap. This will make it > easier to transition away from NamedList/SimpleOrderedMap in responses (such > as to a Map or MapWriter) without worry of impacting javabin clients that > still expect a NamedList. > It may also increase deserialization performance & lower memory at the > expense of any former Maps (thus were deserialized as LinkedHashMap, O(1) > lookup) becoming O(N) lookup. -- 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-17630 Add SolrCloudManager.getSolrClient [solr]
dsmiley commented on PR #3049: URL: https://github.com/apache/solr/pull/3049#issuecomment-2640821252 Needs a CHANGES.txt but it's otherwise ready. Planning to add in "Other": Added a node-wide CloudSolrClient to ZkController, and accessible via SolrCloudManager too. Uses Jetty HttpClient. Deprecated CloudSolrClient.getSolrClientCache. Redirected some callers. Oh yeah; and want to deprecate CoreContainer.getSolrClientCache to further discourage anyone from using 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] SolrParams.equals implementation [solr]
dsmiley commented on PR #3141: URL: https://github.com/apache/solr/pull/3141#issuecomment-2640802152 Planning on merging Saturday. No JIRA/CHANGES.txt. -- 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] SolrTestCaseJ4: don't reset HttpClient SSL stuff [solr]
dsmiley commented on PR #3037: URL: https://github.com/apache/solr/pull/3037#issuecomment-2640835751 Planning to merge tomorrow. Pretty straight-forward change. -- 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-17614: cross-dc deletes can skip an HTTP hop [solr]
dsmiley commented on PR #2963: URL: https://github.com/apache/solr/pull/2963#issuecomment-2640852205 Needs a CHANGES.txt; perhaps in Optimizations. "Cross-DC delete-by-query optimized to fetch deleted documents with one less HTTP hop per batch of IDs". I plan to merge it this weekend after adding that. -- 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-17654: DistribFileStore._getRealPath() has issues on Windows [solr]
dsmiley commented on PR #3160: URL: https://github.com/apache/solr/pull/3160#issuecomment-2640859643 Thanks Jan for that suggestion! I grabbed that and intend to play with it this weekend. I'll merge this PR 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-17635: unmarshalling Map to SimpleOrderedMap if key i of type St… [solr]
renatoh commented on code in PR #3163: URL: https://github.com/apache/solr/pull/3163#discussion_r1945462495 ## solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java: ## @@ -863,6 +868,26 @@ protected Map readMap(DataInputInputStream dis, int sz) throws I return m; } + @SuppressWarnings({"rawtypes", "unchecked"}) + protected Map readMapAsSimpleOrderedMapForStringKeys(DataInputInputStream dis, int sz) + throws IOException { +Map m = null; +for (int i = 0; i < sz; i++) { + Object key = readVal(dis); + + if (m == null) { +if (key instanceof String) { + m = new SimpleOrderedMap<>(sz); +} else { + m = newMap(sz); +} + } + Object val = readVal(dis); + m.put(key, val); +} +return m; + } + Review Comment: @dsmiley FYI, this is marked as drafted. We cannot simply create a SimpleOrderedMap since the key of the Map can also me something other than a String e.g. an Integer. The only way I can think of to overcome that is to read the first key and then do an instanceof check on it. Pretty ugly considering I have to use a raw Map. -- 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] EncryptionRequestHandler supports encryption requests distribution. [solr-sandbox]
bruno-roustant commented on code in PR #115: URL: https://github.com/apache/solr-sandbox/pull/115#discussion_r1944878207 ## encryption/src/main/java/org/apache/solr/encryption/EncryptionRequestHandler.java: ## @@ -260,12 +339,133 @@ public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throw } else { rsp.add(STATUS, STATUS_FAILURE); } - log.info("Responding encryption state={} success={} for keyId={}", - encryptionState, success, keyId); - rsp.add(ENCRYPTION_STATE, encryptionState); + rsp.add(ENCRYPTION_STATE, state.value); + long timeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTimeNs); + log.info("Responding encryption state={} success={} for keyId={} timeMs={}", + state.value, success, keyId, timeMs); } } + private void distributeRequest(SolrQueryRequest req, SolrQueryResponse rsp, String keyId, long startTimeNs) { +boolean success = false; +String collectionName = null; +State collectionState = null; +long timeAllowedMs = req.getParams().getLong(TIME_ALLOWED, 0); +long maxTimeNs = timeAllowedMs <= 0 ? Long.MAX_VALUE : startTimeNs + timeAllowedMs; +try { + collectionName = req.getCore().getCoreDescriptor().getCollectionName(); + if (collectionName == null) { +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parameter " + DISTRIB + " can only be used in Solr Cloud mode."); + } + log.debug("Encrypt request distributed for keyId={} collection={}", keyId, collectionName); + DocCollection docCollection = req.getCore().getCoreContainer().getZkController().getZkStateReader().getCollection(collectionName); + if (docCollection == null) { +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parameter " + DISTRIB + " present but collection '" + collectionName + "' not found."); + } + try (SolrClientHolder solrClient = getHttpSolrClient(req)) { +ModifiableSolrParams params = createDistributedRequestParams(req, rsp, keyId); +Collection slices = docCollection.getActiveSlices(); +Collection> encryptRequests = new ArrayList<>(slices.size()); +final String collectionNameFinal = collectionName; +for (Slice slice : slices) { + Replica replica = slice.getLeader(); + if (replica == null) { +log.error("No leader found for shard {}", slice.getName()); +collectionState = State.ERROR; +continue; + } + encryptRequests.add(() -> sendEncryptionRequestWithRetry(replica, params, solrClient.getClient(), keyId, collectionNameFinal)); +} +try { + List> responses = timeAllowedMs <= 0 ? + executor.invokeAll(encryptRequests) + : executor.invokeAll(encryptRequests, timeAllowedMs, TimeUnit.MILLISECONDS); + if (isTimeout(maxTimeNs)) { +log.warn("Timeout distributing encryption request for keyId={} collection={}", keyId, collectionName); +if (collectionState == null || State.TIMEOUT.priority > collectionState.priority) { + collectionState = State.TIMEOUT; +} + } + for (Future response : responses) { +State state; +try { + state = response.get(); +} catch (ExecutionException e) { + collectionState = State.ERROR; + break; +} +if (collectionState == null || state.priority > collectionState.priority) { + collectionState = state; +} + } +} catch (InterruptedException e) { + collectionState = State.INTERRUPTED; +} +success = collectionState == null || collectionState.isSuccess(); Review Comment: null only happens if there is no distribution because there are no slices. I don't know if it can happen actually, but the request to encrypt all shards is complete. -- 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] fix the solr zk invocation [solr-operator]
elangelo opened a new pull request, #756: URL: https://github.com/apache/solr-operator/pull/756 (no comment) -- 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-14115: Allow bin/solr zk commands to have parity with zkcli.sh commands. [solr]
elangelo commented on PR #2298: URL: https://github.com/apache/solr/pull/2298#issuecomment-2640038554 This PR doesn't work. When using the `solr zk` command you need to provide the `--zk-host $ZK_HOST` argument: https://github.com/apache/solr-operator/pull/756 -- 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-16391: Convert create-core, core-status, /luke to JAX-RS [solr]
gerlowskija commented on code in PR #3054: URL: https://github.com/apache/solr/pull/3054#discussion_r1945281386 ## solr/core/src/java/org/apache/solr/cli/CLIUtils.java: ## @@ -321,16 +320,15 @@ public static boolean safeCheckCoreExists(String solrUrl, String coreName, Strin final int clamPeriodForStatusPollMs = 1000; Thread.sleep(clamPeriodForStatusPollMs); } -NamedList existsCheckResult = -CoreAdminRequest.getStatus(coreName, solrClient).getResponse(); -NamedList status = (NamedList) existsCheckResult.get("status"); -NamedList coreStatus = (NamedList) status.get(coreName); -Map failureStatus = -(Map) existsCheckResult.get("initFailures"); -String errorMsg = (String) failureStatus.get(coreName); -final boolean hasName = coreStatus != null && coreStatus.get(NAME) != null; -exists = hasName || errorMsg != null; -wait = hasName && errorMsg == null && "true".equals(coreStatus.get("isLoading")); +final var coreStatusReq = new CoresApi.GetCoreStatus(coreName); +final var coreStatusRsp = coreStatusReq.process(solrClient).getParsed(); +final var coreStatusByName = coreStatusRsp.status; +final var coreStatus = coreStatusByName.get(coreName); +final var failureStatus = coreStatusRsp.initFailures; +final var initFailureForCore = failureStatus.get(coreName); +final boolean hasName = coreStatus != null && coreStatus.name != null; +exists = hasName || initFailureForCore != null; +wait = hasName && initFailureForCore == null && "true".equals(coreStatus.isLoading); Review Comment: 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-17649: Fix Json faceting on multivalue number types [solr]
dsmiley commented on code in PR #3158: URL: https://github.com/apache/solr/pull/3158#discussion_r1945285244 ## solr/CHANGES.txt: ## @@ -187,6 +187,8 @@ Bug Fixes * SOLR-17652: Fix a bug that could cause long leader elections to leave PULL replicas in DOWN state forever. (hossman) +* SOLR-17649: Fix a regression of faceting on multi-valued EnumFieldType, introduced by an earlier 9.x version. (Thomas Wöckinger, David Smiley, Houston Putman, Kevin Risden) Review Comment: LOL if I merge this I'll just list yourself; I don't want any hint of credit. As a reviewer my input was too trivial in this case to justify my name being listed. -- 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] Make PGP signing the release announcement optional [solr]
janhoy commented on PR #3161: URL: https://github.com/apache/solr/pull/3161#issuecomment-2640061049 > I'd rather just rip out the section, jsut because it's one more thing and no one uses it. But that's just me. The rest looks good. Though I have never been an RM ;-) Would it be better to play it down further by shortening the text, skipping the step by step instructions, and instead just link to gpg, e.g.? > ...and it *can optionally* be signed with your PGP key, using the `--clearsign` option of gpg [as explained here](https://www.gnupg.org/gph/en/manual/x135.html). -- 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] adding a script on how to calculated the encoded password format with… [solr]
elangelo opened a new pull request, #3162: URL: https://github.com/apache/solr/pull/3162 … bash https://issues.apache.org/jira/browse/SOLR-X # Description Adding a short bash script in the documentation that illustrates how to calculate the encoded password format for security.json # Solution doc # Tests doc only # Checklist Please review the following and check all that apply: - [v ] 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) - [ v] I have developed this patch against the `main` branch. - [ ] I have run `./gradlew check`. - [ ] I have added tests for my changes. - [ v] 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
Re: [PR] adding a script on how to calculated the encoded password format with… [solr]
epugh commented on code in PR #3162: URL: https://github.com/apache/solr/pull/3162#discussion_r1945053453 ## solr/solr-ref-guide/modules/deployment-guide/pages/basic-authentication-plugin.adoc: ## @@ -56,13 +56,42 @@ There are several options defined in this example: <1> The first block defines the authentication plugin to be used and its parameters. <2> The parameter `"blockUnknown":true` means that unauthenticated requests are not allowed to pass through. -<3> A user called 'solr', with a password `'SolrRocks'`, in the encoded format detailed above, has been defined. +<3> A user called 'solr', with a password `'SolrRocks'`, in the encoded format detailed above, has been defined. See below for a bash script on how to caculate the encoded format. <4> We override the `realm` property to display another text on the login prompt. <5> The parameter `"forwardCredentials":false` means we let Solr's PKI authentication handle distributed request instead of forwarding the Basic Auth header. Save your settings to a file called `security.json` locally. If you are using Solr in single-node installation, you should put this file in `$SOLR_HOME`. +The following bash script illustrates how to calculated the encoded password format: Review Comment: "calculate". Also, thank you for your contribution! -- 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] adding a script on how to calculated the encoded password format with… [solr]
epugh commented on code in PR #3162: URL: https://github.com/apache/solr/pull/3162#discussion_r1945053002 ## solr/solr-ref-guide/modules/deployment-guide/pages/basic-authentication-plugin.adoc: ## @@ -56,13 +56,42 @@ There are several options defined in this example: <1> The first block defines the authentication plugin to be used and its parameters. <2> The parameter `"blockUnknown":true` means that unauthenticated requests are not allowed to pass through. -<3> A user called 'solr', with a password `'SolrRocks'`, in the encoded format detailed above, has been defined. +<3> A user called 'solr', with a password `'SolrRocks'`, in the encoded format detailed above, has been defined. See below for a bash script on how to caculate the encoded format. Review Comment: "calculate" ;-) -- 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-17632: Text to Vector Update Request Processor [solr]
alessandrobenedetti commented on PR #3151: URL: https://github.com/apache/solr/pull/3151#issuecomment-2639773032 Added one iteration of polishing, should have addressed @cpoerschke concerns on vectorisation failures (I took inspiration from the lang detect update processor). I also removed the additional test solr config files addressing @dsmiley concerns. I'm still puzzled by the testing errors I get (the before/after problems I mentioned in the first comment), any help there would be beneficial. I think we made progress, I;ll wait some other iterations and then work on the documentation. -- 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-17635: unmarshalling Map to SimpleOrderedMap if key i of type St… [solr]
renatoh commented on code in PR #3163: URL: https://github.com/apache/solr/pull/3163#discussion_r1946046611 ## solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java: ## @@ -863,6 +868,26 @@ protected Map readMap(DataInputInputStream dis, int sz) throws I return m; } + @SuppressWarnings({"rawtypes", "unchecked"}) + protected Map readMapAsSimpleOrderedMapForStringKeys(DataInputInputStream dis, int sz) + throws IOException { +Map m = null; +for (int i = 0; i < sz; i++) { + Object key = readVal(dis); + + if (m == null) { +if (key instanceof String) { + m = new SimpleOrderedMap<>(sz); +} else { + m = newMap(sz); +} + } + Object val = readVal(dis); + m.put(key, val); +} +return m; + } + Review Comment: Just casting the key to a String, or having an assert on it, will fail three unit test of TestJavaBinCodec. E.g. the .bin used in the tests - org.apache.solr.common.util.TestJavaBinCodec#SOLRJ_JAVABIN_BACKCOMPAT_BIN - holds a Map with Integer as key. So you are saying that this is not representing a realistic case and had to be changed? -- 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-17628: Add query quantiles metrics to prometheus endpoint [solr]
jkmuriithi opened a new pull request, #3164: URL: https://github.com/apache/solr/pull/3164 https://issues.apache.org/jira/browse/SOLR-17628 # Description Modify the implementation of `SolrPrometheusFormatter.exportTimer` to export a Prometheus summary containing quantile information instead of a single Prometheus gauge. Rename the Timer-based metrics `solr_metrics_core_average_request_time` and `solr_metrics_core_average_searcher_warmup_time` to reflect this change. # Solution Prior to this change, Dropwizard Timer metrics (used for core request handlers and searchers) were exported in Prometheus format as single gauges representing the mean of all observations. This PR replaces the existing mean gauge metrics with a summary that includes quantile metrics, the count (number) of observations, and the sum of all observations. ## Sample old output: ``` # TYPE solr_metrics_core_average_request_time gauge solr_metrics_core_average_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/file",replica="replica_n1",shard="shard1"} 0.0 solr_metrics_core_average_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/luke",replica="replica_n1",shard="shard1"} 0.0 ``` ## Sample new output: ``` # TYPE solr_metrics_core_request_time summary solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/file",replica="replica_n1",shard="shard1",quantile="0.5"} 0.0 solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/file",replica="replica_n1",shard="shard1",quantile="0.75"} 0.0 solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/file",replica="replica_n1",shard="shard1",quantile="0.99"} 0.0 solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/file",replica="replica_n1",shard="shard1",quantile="0.999"} 0.0 solr_metrics_core_request_time_count{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/file",replica="replica_n1",shard="shard1"} 0 solr_metrics_core_request_time_sum{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/file",replica="replica_n1",shard="shard1"} 0.0 solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/luke",replica="replica_n1",shard="shard1",quantile="0.5"} 0.0 solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/luke",replica="replica_n1",shard="shard1",quantile="0.75"} 0.0 solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/luke",replica="replica_n1",shard="shard1",quantile="0.99"} 0.0 solr_metrics_core_request_time{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/luke",replica="replica_n1",shard="shard1",quantile="0.999"} 0.0 solr_metrics_core_request_time_count{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/luke",replica="replica_n1",shard="shard1"} 0 solr_metrics_core_request_time_sum{category="ADMIN",collection="example-collection",core="core_example-collection_shard1_replica_n1",handler="/admin/luke",replica="replica_n1",shard="shard1"} 0.0 ``` # Tests I updated `MetricsHandlerTest` and `SolrPrometheusFormatterTest` to align with the changes to `exportTimer`. `./gradlew test` passes on my local machine. # Checklist Please review the following and check all that apply: - [x] 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. - [x] I have created a Jira issue and added the issue ID to my pull request title. - [x] 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) - [x] I have developed this patch against the `main` branch. - [x] I have run `./gradlew check`. - [ ] I have added tests for my changes. - [ ] I have added docum
[jira] [Updated] (SOLR-17628) Add query quantiles metrics to prometheus endpoint
[ https://issues.apache.org/jira/browse/SOLR-17628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated SOLR-17628: -- Labels: pull-request-available (was: ) > Add query quantiles metrics to prometheus endpoint > --- > > Key: SOLR-17628 > URL: https://issues.apache.org/jira/browse/SOLR-17628 > Project: Solr > Issue Type: Improvement > Components: metrics >Reporter: Matthew Biscocho >Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > When exposing prometheus metrics with SOLR-10654 exporting metrics was mostly > straight forward except for query metric quantiles. Things such as average > request times exists with the current prometheus internal formatters. But > Dropwizard gauges can have more complex types in their data structures and > quantiles fell in that bucket so at the time, exporting these quantiles > wasn't straight forward. I think these metrics would be very beneficial to > finally add in and export. -- 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-12224) there is no API to read collection properties
[ https://issues.apache.org/jira/browse/SOLR-12224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17924724#comment-17924724 ] David Smiley commented on SOLR-12224: - Wasn't this resolved by SOLR-16390 ? > there is no API to read collection properties > - > > Key: SOLR-12224 > URL: https://issues.apache.org/jira/browse/SOLR-12224 > Project: Solr > Issue Type: Bug > Components: SolrCloud >Affects Versions: 7.3 >Reporter: Hendrik Haddorp >Priority: Major > > Solr 7.3 added the COLLECTIONPROP API call > (https://lucene.apache.org/solr/guide/7_3/collections-api.html#collectionprop) > that allows to set arbitrary properties on a collection. There is however no > API call that returns the data. The only option is to manually read out the > collectionprops.json file in ZK below the collection. > Options could be that the COLLECTIONPROP command has an option to retrieve > properties, have a special command to list the properties and/or to have the > properties listed in the clusterstatus output for a collection. > Would be great if SolrJ would also be supported. -- 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-17656) Add expert level option to allowe PULL replicas to go ACTIVE w/o RECOVERING
[ https://issues.apache.org/jira/browse/SOLR-17656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chris M. Hostetter updated SOLR-17656: -- Attachment: SOLR-17656.patch Status: Open (was: Open) The attached patch implements this idea via a new {{skipLeaderRecovery}} replica property. This patch leverages existing {{skipRecovery}} logic in {{ZkController}} – all it does is add a new condition in which {{skipRecovery}} may be set to {{{}true{}}}. The new logic includes sanity checks to ensure that event if {{{}skipLeaderRecovery==true{}}}, the property will be ignored (and an error logged) if either: * the replica type {{requireTransactionLog}} * the replica does not have *ANY* local index commit (ie: was restarted before it ever did a single fetch from the leader) {{TestPullReplica}} has been updated to confirm that this new property can allow a PULL replica on a restarted solr node to become ACTIVE even if the leader is DOWN. Feedback welcome. I feel like it would be pretty useful, and that the patch is basically good to go from a code standpoint – but it obviously needs some ref-guide updates. (i was holding off pending any objections to the name and/or restrictions on when it's respected. I'm assuming it would make sense to document this [HERE|https://solr.apache.org/guide/solr/latest/deployment-guide/solrcloud-shards-indexing.html#recovery-with-pull-replicas]) > Add expert level option to allowe PULL replicas to go ACTIVE w/o RECOVERING > --- > > Key: SOLR-17656 > URL: https://issues.apache.org/jira/browse/SOLR-17656 > Project: Solr > Issue Type: New Feature >Reporter: Chris M. Hostetter >Assignee: Chris M. Hostetter >Priority: Major > Attachments: SOLR-17656.patch > > > In situations where a Solr cluster undergoes a rolling restart (or some other > "catastrophic" failure situations requiring/causing solr node restarts) there > can be a snowball effect of poor performance (or even solr node crashing) due > to fewer then normal replicas serving query requests while replicas on > restarting nodes are DOWN or RECOVERING – especially if shard leaders are > also affected, and (restarting) replicas first must wait for a leader > election before they can recover (or wait to finish recovery from an > over-worked leader). > For NRT type usecases, RECOVERING is really a necessary evil to ensure every > replicas is up to date before handling NRT requests – but in the case of PULL > replicas, which are expected to routinely "lag" behind their leader, I've > talked to a lot of Solr users w/usecases where they would be happy to have > PULL replicas back online serving "stale" data ASAP, and let normal > IndexFetching "catchup" with the leader later. > I propose we support a new "advanced" replica property that can be set on > PULL replicas by expert level users, to indicate: on (re)init, these replicas > may skip RECOVERING and go directly to ACTIVE. -- 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] [Created] (SOLR-17656) Add expert level option to allowe PULL replicas to go ACTIVE w/o RECOVERING
Chris M. Hostetter created SOLR-17656: - Summary: Add expert level option to allowe PULL replicas to go ACTIVE w/o RECOVERING Key: SOLR-17656 URL: https://issues.apache.org/jira/browse/SOLR-17656 Project: Solr Issue Type: New Feature Reporter: Chris M. Hostetter Assignee: Chris M. Hostetter In situations where a Solr cluster undergoes a rolling restart (or some other "catastrophic" failure situations requiring/causing solr node restarts) there can be a snowball effect of poor performance (or even solr node crashing) due to fewer then normal replicas serving query requests while replicas on restarting nodes are DOWN or RECOVERING – especially if shard leaders are also affected, and (restarting) replicas first must wait for a leader election before they can recover (or wait to finish recovery from an over-worked leader). For NRT type usecases, RECOVERING is really a necessary evil to ensure every replicas is up to date before handling NRT requests – but in the case of PULL replicas, which are expected to routinely "lag" behind their leader, I've talked to a lot of Solr users w/usecases where they would be happy to have PULL replicas back online serving "stale" data ASAP, and let normal IndexFetching "catchup" with the leader later. I propose we support a new "advanced" replica property that can be set on PULL replicas by expert level users, to indicate: on (re)init, these replicas may skip RECOVERING and go directly to ACTIVE. -- 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-17654) DistribFileStore._getRealPath() has issues on Windows
[ https://issues.apache.org/jira/browse/SOLR-17654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17924722#comment-17924722 ] ASF subversion and git services commented on SOLR-17654: Commit d0ec48f1c5aa8b711eeb4a951499d06bf0b438b9 in solr's branch refs/heads/main from Matthew Biscocho [ https://gitbox.apache.org/repos/asf?p=solr.git;h=d0ec48f1c5a ] SOLR-17654: Fix DistribFileStore._getRealPath() for Windows (#3160) Revert but use NIO API to obtain path separator > DistribFileStore._getRealPath() has issues on Windows > - > > Key: SOLR-17654 > URL: https://issues.apache.org/jira/browse/SOLR-17654 > Project: Solr > Issue Type: Improvement >Reporter: Houston Putman >Priority: Major > Labels: pull-request-available > Time Spent: 50m > Remaining Estimate: 0h > > On Windows, many tests that use the DistribFileStore, such as > {{TestPackages}}, {{TestDistribFileStore}} and {{PackageToolTest}} are > failing because of an issue in {{DistribFileStore._getRealPath()}}. > This method tries to remove the beginning slashes from the path, and then > tries to make a new path relative to the file store location. However, in the > tests, it's failing and showing stuff like "Illegal path > \mypkg\v.0.12\jar_a.jar". Clearly in the code, the first "\" should have been > removed, so this code is having an issue with Windows. -- 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-17654: DistribFileStore._getRealPath() has issues on Windows [solr]
dsmiley merged PR #3160: URL: https://github.com/apache/solr/pull/3160 -- 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-16390) Cosmetic improvements and migration to JAX-RS (v2 cluster and clusterprop APIs)
[ https://issues.apache.org/jira/browse/SOLR-16390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17924758#comment-17924758 ] David Smiley commented on SOLR-16390: - CHANGES.txt references this issue under 9.8 (delivering a read API for cluster properties, by the way, thus addressing SOLR-12224); thus this issue should be marked Fixed and for that version. Right? > Cosmetic improvements and migration to JAX-RS (v2 cluster and clusterprop > APIs) > --- > > Key: SOLR-16390 > URL: https://issues.apache.org/jira/browse/SOLR-16390 > Project: Solr > Issue Type: Sub-task > Components: documentation, v2 API >Affects Versions: main (10.0) >Reporter: Jason Gerlowski >Priority: Major > Labels: newdev, pull-request-available > Time Spent: 4.5h > Remaining Estimate: 0h > > As mentioned on SOLR-15781, the v2 API currently has an experimental > designation, and the community has expressed an interest in using this period > to update our v2 endpoints to be more REST-ful and consistent. The current > plan is to follow the specific changes laid out in [this > spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing], > though of course nothing there is set in stone and there are still warts to > be worked out. > This ticket plans to tackle making the changes required for Solr's "Cluster" > and "cluster-prop" APIs. These APIs are described in detail in the > spreadsheet linked above, but are summarized in the table below for > convenience and easier tracking. > While we're touching the code for these endpoints, we should also convert > them to JAX-RS framework definitions. (This was initially tracked as a > separate effort - see SOLR-16370 - but the edit that were required ended up > overlapping so significantly with the "cosmetic" improvements here that in > practice it almost always makes sense to do the two together.) > *Cosmetic Changes and JAX-RS Conversion* > ||API Name||Original Form||Desired Form||Status||Volunteer|| > |Upsert ClusterProp|POST /api/cluster \{"set-property": \{...\}\}|PUT > /api/cluster/properties/propName \{"value": "propVal"\}|Open|N/A| > |Upsert ClusterProp (Potentially Nested)|POST /api/cluster > \{"set-obj-property": \{...\}\}|PUT /api/cluster/properties \{...\}|Open|N/A| > |Delete ClusterProp|POST /api/cluster \{"set-property": \{"name": "foo", > "value": ""\}\}|DELETE /api/cluster/properties/propName|Open|N/A| > |Delete Single Async Status|DELETE /api/cluster/command-status/123|DELETE > /api/cluster/commands/123|Open|N/A| > |Delete All Async Status|DELETE /api/cluster/command-status|DELETE > /api/cluster/commands|Open|N/A| > |Get Single Async Status|GET /api/cluster/command-status/123|GET > /api/cluster/commands/123|Open|N/A| > |Create rate-limiter|POST /api/cluster/ \{"set-ratelimiter": \{...\}\}|POST > /api/cluster/ratelimiter \{...\}|Open|N/A| -- 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-17635: unmarshalling Map to SimpleOrderedMap if key i of type St… [solr]
dsmiley commented on code in PR #3163: URL: https://github.com/apache/solr/pull/3163#discussion_r1945550364 ## solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java: ## @@ -863,6 +868,26 @@ protected Map readMap(DataInputInputStream dis, int sz) throws I return m; } + @SuppressWarnings({"rawtypes", "unchecked"}) + protected Map readMapAsSimpleOrderedMapForStringKeys(DataInputInputStream dis, int sz) + throws IOException { +Map m = null; +for (int i = 0; i < sz; i++) { + Object key = readVal(dis); + + if (m == null) { +if (key instanceof String) { + m = new SimpleOrderedMap<>(sz); +} else { + m = newMap(sz); +} + } + Object val = readVal(dis); + m.put(key, val); +} +return m; + } + Review Comment: Oh man I didn't think of that! Let's say we treat keys as a String no matter what. I'm suspicious that our response formats would ever have a map whose key isn't a string. Maybe add an assert if the key isn't already a String so that we can more readily identify problems. (not sure if may read CharSequence but we can consider that as a String). ## solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java: ## @@ -848,9 +848,14 @@ protected Map newMap(int size) { return size < 0 ? new LinkedHashMap<>() : CollectionUtil.newLinkedHashMap(size); } - public Map readMap(DataInputInputStream dis) throws IOException { + public Map readMap(DataInputInputStream dis) throws IOException { int sz = readVInt(dis); -return readMap(dis, sz); + +if (EnvUtils.getPropertyAsBool("solr.solrj.javabin.mapAsNamedList", true)) { Review Comment: Reading this setting on _every single map decode_ is quite bad for performance. This setting should be a field on the codec, and that which could be toggled with a setter (if useful in a test). -- 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] Make PGP signing the release announcement optional [solr]
epugh commented on PR #3161: URL: https://github.com/apache/solr/pull/3161#issuecomment-2640149555 Great! -- 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] Basic Auth Bootstrap Not Working In 0.9.0 [solr-operator]
Calcagiara commented on issue #755: URL: https://github.com/apache/solr-operator/issues/755#issuecomment-2639800143 Hey there, having the same problem here. I will add that version 9.7.0 works fine with a fresh new deploy too, so I'm guessing it's an issue related specifically with the 9.8.0 version. -- 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-17649: Fix Json faceting on multivalue number types [solr]
dsmiley commented on code in PR #3158: URL: https://github.com/apache/solr/pull/3158#discussion_r1944771535 ## solr/core/src/java/org/apache/solr/search/facet/FacetField.java: ## @@ -152,7 +152,7 @@ public FacetProcessor createFacetProcessor(FacetContext fcontext) { } } Review Comment: There's a comment below: `// multi-valued after this point`. Can you please move that up above the condition you are modifying, since I think it belongs higher. ## solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java: ## @@ -4907,6 +4907,38 @@ public void testQueryJoinBooksAndPages() throws Exception { + ", books2:{ buckets:[ {val:q,count:1}, {val:w,count:1} ] }" + "}"); } + + @Test + public void testMultivalueEnumTypes() throws Exception { +final Client client = Client.localClient(); + +final SolrParams p = params("rows", "0"); + +client.deleteByQuery("*:*", null); + +List docsToAdd = new ArrayList<>(6); Review Comment: Whoops; right; never mind. We have too many weird test infrastructure things. -- 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-17635) javabin should deserialize maps as SimpleOrderedMap
[ https://issues.apache.org/jira/browse/SOLR-17635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17924568#comment-17924568 ] Renato Haeberli commented on SOLR-17635: Ah right, my mind was still with the other ticket, where we want to move from NamedList.asShallowMap to a SimpleOrderedMap. But the questions remain, should the deserialization into a SimpleOrderedMap be the new default behavior, or should the default behavior be as it is currently with LinkedHashMap? > javabin should deserialize maps as SimpleOrderedMap > --- > > Key: SOLR-17635 > URL: https://issues.apache.org/jira/browse/SOLR-17635 > Project: Solr > Issue Type: Improvement >Reporter: David Smiley >Priority: Major > > Once SimpleOrderedMap actually implements Map (SOLR-17623), Solr's "javabin" > format should deserialize all maps as a SimpleOrderedMap. This will make it > easier to transition away from NamedList/SimpleOrderedMap in responses (such > as to a Map or MapWriter) without worry of impacting javabin clients that > still expect a NamedList. > It may also increase deserialization performance & lower memory at the > expense of any former Maps (thus were deserialized as LinkedHashMap, O(1) > lookup) becoming O(N) lookup. -- 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] EncryptionRequestHandler supports encryption requests distribution. [solr-sandbox]
bruno-roustant commented on code in PR #115: URL: https://github.com/apache/solr-sandbox/pull/115#discussion_r1944751369 ## encryption/src/main/java/org/apache/solr/encryption/EncryptionRequestHandler.java: ## @@ -260,12 +330,116 @@ public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throw } else { rsp.add(STATUS, STATUS_FAILURE); } - log.info("Responding encryption state={} success={} for keyId={}", - encryptionState, success, keyId); - rsp.add(ENCRYPTION_STATE, encryptionState); + rsp.add(ENCRYPTION_STATE, state.value); + long timeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTimeNs); + log.info("Responding encryption state={} success={} for keyId={} timeMs={}", + state.value, success, keyId, timeMs); } } + private void distributeRequest(SolrQueryRequest req, SolrQueryResponse rsp, String keyId, long startTimeNs) { +boolean success = false; +String collectionName = null; +State collectionState = null; +long timeAllowedMs = req.getParams().getLong(TIME_ALLOWED, 0); +long maxTimeNs = timeAllowedMs <= 0 ? Long.MAX_VALUE : startTimeNs + timeAllowedMs; +try { + collectionName = req.getCore().getCoreDescriptor().getCollectionName(); + if (collectionName == null) { +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parameter " + DISTRIB + " can only be used in Solr Cloud mode."); + } + log.debug("Encrypt request distributed for keyId={} collection={}", keyId, collectionName); + DocCollection docCollection = req.getCore().getCoreContainer().getZkController().getZkStateReader().getCollection(collectionName); + if (docCollection == null) { +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parameter " + DISTRIB + " present but collection '" + collectionName + "' not found."); + } + try (SolrClientHolder solrClient = getHttpSolrClient(req)) { +ModifiableSolrParams params = createDistributedRequestParams(req, rsp, keyId); +for (Slice slice : docCollection.getActiveSlices()) { + if (isTimeout(maxTimeNs)) { +log.warn("Timeout distributing encryption request for keyId={} collection={}", keyId, collectionName); +if (collectionState == null || State.TIMEOUT.priority > collectionState.priority) { + collectionState = State.TIMEOUT; +} +break; + } + Replica replica = slice.getLeader(); + if (replica == null) { +log.error("No leader found for shard {}", slice.getName()); +collectionState = State.ERROR; +continue; + } + State state = sendEncryptionRequestWithRetry(replica, params, solrClient.getClient(), keyId, collectionName); + if (collectionState == null || state.priority > collectionState.priority) { +collectionState = state; + } +} +success = collectionState == null || collectionState.isSuccess(); + } +} finally { + if (success) { +rsp.add(STATUS, STATUS_SUCCESS); + } else { +rsp.add(STATUS, STATUS_FAILURE); + } + if (collectionState != null) { +rsp.add(ENCRYPTION_STATE, collectionState.value); + } + if (log.isInfoEnabled()) { +long timeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTimeNs); +log.info("Responding encryption distributed state={} success={} for keyId={} collection={} timeMs={}", +(collectionState == null ? null : collectionState.value), success, keyId, collectionName, timeMs); + } +} + } + + private SolrClientHolder getHttpSolrClient(SolrQueryRequest req) { +CoreContainer coreContainer = req.getCore().getCoreContainer(); +CloudSolrClient cloudSolrClient = coreContainer.getSolrClientCache().getCloudSolrClient(coreContainer.getZkController().getZkClient().getZkServerAddress()); +if (cloudSolrClient instanceof CloudHttp2SolrClient) { + return new SolrClientHolder(((CloudHttp2SolrClient) cloudSolrClient).getHttpClient(), false); +} +return new SolrClientHolder(new Http2SolrClient.Builder().build(), true); + } + + protected ModifiableSolrParams createDistributedRequestParams(SolrQueryRequest req, SolrQueryResponse rsp, String keyId) { +ModifiableSolrParams params = new ModifiableSolrParams(); +params.set(PARAM_KEY_ID, keyId == null ? NO_KEY_ID : keyId); +return params; + } + + boolean isTimeout(long maxTimeNs) { +return System.nanoTime() > maxTimeNs; + } + + private State sendEncryptionRequestWithRetry(Replica replica, ModifiableSolrParams params, Http2SolrClient httpSolrClient, String keyId, String collection) { +for (int numAttempts = 0; numAttempts < DISTRIBUTION_MAX_ATTEMPTS; numAttempts++) { + try { +NamedList response = sendEncryptionRequest(replica, param
Re: [PR] SOLR-17632: Text to Vector Update Request Processor [solr]
dsmiley commented on code in PR #3151: URL: https://github.com/apache/solr/pull/3151#discussion_r194470 ## solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.java: ## @@ -0,0 +1,105 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.solr.llm.textvectorisation.update.processor; + +import org.apache.solr.common.SolrException; +import org.apache.solr.common.params.RequiredSolrParams; +import org.apache.solr.common.params.SolrParams; +import org.apache.solr.common.util.NamedList; +import org.apache.solr.llm.textvectorisation.model.SolrTextToVectorModel; +import org.apache.solr.llm.textvectorisation.store.rest.ManagedTextToVectorModelStore; +import org.apache.solr.request.SolrQueryRequest; +import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.schema.DenseVectorField; +import org.apache.solr.schema.FieldType; +import org.apache.solr.schema.IndexSchema; +import org.apache.solr.schema.SchemaField; +import org.apache.solr.update.processor.UpdateRequestProcessor; +import org.apache.solr.update.processor.UpdateRequestProcessorFactory; + +/** + * This class implements an UpdateProcessorFactory for the Text To Vector Update Processor. + */ +public class TextToVectorUpdateProcessorFactory extends UpdateRequestProcessorFactory { +private static final String INPUT_FIELD_PARAM = "inputField"; +private static final String OUTPUT_FIELD_PARAM = "outputField"; +private static final String MODEL_NAME = "model"; + +private String inputField; +private String outputField; +private String modelName; +private SolrParams params; + + +@Override +public void init(final NamedList args) { +params = args.toSolrParams(); +RequiredSolrParams required = params.required(); +inputField = required.get(INPUT_FIELD_PARAM); +outputField = required.get(OUTPUT_FIELD_PARAM); +modelName = required.get(MODEL_NAME); +} + +@Override +public UpdateRequestProcessor getInstance(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next) { +IndexSchema latestSchema = req.getCore().getLatestSchema(); +if(!latestSchema.hasExplicitField(inputField)){ +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "undefined field: \"" + inputField + "\""); +} +if(!latestSchema.hasExplicitField(outputField)){ +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "undefined field: \"" + outputField + "\""); +} + +final SchemaField outputFieldSchema = latestSchema.getField(outputField); +assertIsDenseVectorField(outputFieldSchema); + +ManagedTextToVectorModelStore modelStore = ManagedTextToVectorModelStore.getManagedModelStore(req.getCore()); +SolrTextToVectorModel textToVector = modelStore.getModel(modelName); Review Comment: I presume looking up the model is fast/cached if it already exists? ## solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/search/TextToVectorQParserTest.java: ## @@ -29,6 +30,11 @@ public static void init() throws Exception { loadModel("dummy-model.json"); } + @AfterClass + public static void cleanup() throws Exception { +afterTest(); + } Review Comment: weird; why? Weird to see a test cleanup also be a suite cleanup. (same for TestModelManager) ## solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactoryTest.java: ## @@ -0,0 +1,130 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed unde
[jira] [Commented] (SOLR-17635) javabin should deserialize maps as SimpleOrderedMap
[ https://issues.apache.org/jira/browse/SOLR-17635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17924571#comment-17924571 ] David Smiley commented on SOLR-17635: - Default to SimpleOrderedMap. > javabin should deserialize maps as SimpleOrderedMap > --- > > Key: SOLR-17635 > URL: https://issues.apache.org/jira/browse/SOLR-17635 > Project: Solr > Issue Type: Improvement >Reporter: David Smiley >Priority: Major > > Once SimpleOrderedMap actually implements Map (SOLR-17623), Solr's "javabin" > format should deserialize all maps as a SimpleOrderedMap. This will make it > easier to transition away from NamedList/SimpleOrderedMap in responses (such > as to a Map or MapWriter) without worry of impacting javabin clients that > still expect a NamedList. > It may also increase deserialization performance & lower memory at the > expense of any former Maps (thus were deserialized as LinkedHashMap, O(1) > lookup) becoming O(N) lookup. -- 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] EncryptionRequestHandler supports encryption requests distribution. [solr-sandbox]
bruno-roustant commented on code in PR #115: URL: https://github.com/apache/solr-sandbox/pull/115#discussion_r1944888376 ## encryption/src/main/java/org/apache/solr/encryption/EncryptionRequestHandler.java: ## @@ -260,12 +339,133 @@ public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throw } else { rsp.add(STATUS, STATUS_FAILURE); } - log.info("Responding encryption state={} success={} for keyId={}", - encryptionState, success, keyId); - rsp.add(ENCRYPTION_STATE, encryptionState); + rsp.add(ENCRYPTION_STATE, state.value); + long timeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTimeNs); + log.info("Responding encryption state={} success={} for keyId={} timeMs={}", + state.value, success, keyId, timeMs); } } + private void distributeRequest(SolrQueryRequest req, SolrQueryResponse rsp, String keyId, long startTimeNs) { +boolean success = false; +String collectionName = null; +State collectionState = null; +long timeAllowedMs = req.getParams().getLong(TIME_ALLOWED, 0); +long maxTimeNs = timeAllowedMs <= 0 ? Long.MAX_VALUE : startTimeNs + timeAllowedMs; +try { + collectionName = req.getCore().getCoreDescriptor().getCollectionName(); + if (collectionName == null) { +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parameter " + DISTRIB + " can only be used in Solr Cloud mode."); + } + log.debug("Encrypt request distributed for keyId={} collection={}", keyId, collectionName); + DocCollection docCollection = req.getCore().getCoreContainer().getZkController().getZkStateReader().getCollection(collectionName); + if (docCollection == null) { +throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parameter " + DISTRIB + " present but collection '" + collectionName + "' not found."); + } + try (SolrClientHolder solrClient = getHttpSolrClient(req)) { +ModifiableSolrParams params = createDistributedRequestParams(req, rsp, keyId); +Collection slices = docCollection.getActiveSlices(); +Collection> encryptRequests = new ArrayList<>(slices.size()); +final String collectionNameFinal = collectionName; +for (Slice slice : slices) { + Replica replica = slice.getLeader(); + if (replica == null) { +log.error("No leader found for shard {}", slice.getName()); +collectionState = State.ERROR; +continue; + } + encryptRequests.add(() -> sendEncryptionRequestWithRetry(replica, params, solrClient.getClient(), keyId, collectionNameFinal)); +} +try { + List> responses = timeAllowedMs <= 0 ? + executor.invokeAll(encryptRequests) + : executor.invokeAll(encryptRequests, timeAllowedMs, TimeUnit.MILLISECONDS); + if (isTimeout(maxTimeNs)) { +log.warn("Timeout distributing encryption request for keyId={} collection={}", keyId, collectionName); +if (collectionState == null || State.TIMEOUT.priority > collectionState.priority) { + collectionState = State.TIMEOUT; +} + } + for (Future response : responses) { +State state; +try { + state = response.get(); +} catch (ExecutionException e) { + collectionState = State.ERROR; + break; +} +if (collectionState == null || state.priority > collectionState.priority) { + collectionState = state; +} + } +} catch (InterruptedException e) { + collectionState = State.INTERRUPTED; +} +success = collectionState == null || collectionState.isSuccess(); + } +} finally { + String statusValue = success ? STATUS_SUCCESS : STATUS_FAILURE; + rsp.add(STATUS, statusValue); + rsp.addToLog(STATUS, statusValue); + if (collectionState != null) { +rsp.add(ENCRYPTION_STATE, collectionState.value); +rsp.addToLog(ENCRYPTION_STATE, collectionState.value); + } + if (log.isInfoEnabled()) { +long timeMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTimeNs); +log.info("Responding encryption distributed state={} success={} for keyId={} collection={} timeMs={}", +(collectionState == null ? null : collectionState.value), success, keyId, collectionName, timeMs); + } +} + } + + private SolrClientHolder getHttpSolrClient(SolrQueryRequest req) { +CoreContainer coreContainer = req.getCore().getCoreContainer(); +CloudSolrClient cloudSolrClient = coreContainer.getSolrClientCache().getCloudSolrClient(coreContainer.getZkController().getZkClient().getZkServerAddress()); +if (cloudSolrClient instanceof CloudHttp2SolrClient) { + return new SolrClientHolder(((CloudHttp2SolrClient)
Re: [PR] Make PGP signing the release announcement optional [solr]
janhoy commented on PR #3161: URL: https://github.com/apache/solr/pull/3161#issuecomment-2640112351 Here is a proposal for how it will look without the detailed instructions, further downplaying PGP:   -- 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