[GitHub] [lucene-solr] jtibshirani removed a comment on pull request #1930: LUCENE-9322: add VectorValues to new Lucene90 codec
jtibshirani removed a comment on pull request #1930: URL: https://github.com/apache/lucene-solr/pull/1930#issuecomment-711759394 @msokolov I did a belated review and had some high-level thoughts. Hopefully post-commit reviews are still helpful in giving ideas for follow-ups. > It seems messy to have the ScoringFunction implementation in the main VectorValues interface API file. It seems like we’re using `ScoreFunction` for two separate use cases: 1. Configuring the ANN indexing + search strategy (to be introduced later). For example, HNSW needs to know up-front what similarity measure to use when building the graph. 2. Providing convenience methods for users that want to incorporate vectors into scoring, outside of ANN. We could think about separating out these cases. Maybe `ScoreFunction` could stick closely to case 1 and avoid exposing score implementations. This fits well with its role of specifying the ANN index strategy, which might encompass other ANN approaches in the future like `KMEANS_EUCLIDEAN`. And for use case 2, we could introduce static utility methods like `dotProduct(float[] a, float[] b)` ? The ANN implementations would be free to make use of these methods if they prove helpful. If we go with this design, perhaps `ScoreFunction` would be renamed to something like `SearchStrategy`. Separately, I wonder if we need to expose a random access interface on the public `VectorValues`. When using vectors for scoring, iterator access seems sufficient. I’m having trouble thinking of a use for random access outside of ANN, and some ANN implementations don’t even need it -- for example most k-means and LSH approaches only need forward iteration. Would it make sense to keep the `VectorValues` surface area smaller and only provide iterator access? Random access could still be supported at a lower level, in a place that's available to HNSW. I’m not sure exactly how this would look, perhaps it'd be clearer once we see how HNSW will be integrated. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] jtibshirani commented on pull request #1930: LUCENE-9322: add VectorValues to new Lucene90 codec
jtibshirani commented on pull request #1930: URL: https://github.com/apache/lucene-solr/pull/1930#issuecomment-711759394 @msokolov I did a belated review and had some high-level thoughts. Hopefully post-commit reviews are still helpful in giving ideas for follow-ups. > It seems messy to have the ScoringFunction implementation in the main VectorValues interface API file. It seems like we’re using `ScoreFunction` for two separate use cases: 1. Configuring the ANN indexing + search strategy (to be introduced later). For example, HNSW needs to know up-front what similarity measure to use when building the graph. 2. Providing convenience methods for users that want to incorporate vectors into scoring, outside of ANN. We could think about separating out these cases. Maybe `ScoreFunction` could stick closely to case 1 and avoid exposing score implementations. This fits well with its role of specifying the ANN index strategy, which might encompass other ANN approaches in the future like `KMEANS_EUCLIDEAN`. And for use case 2, we could introduce static utility methods like `dotProduct(float[] a, float[] b)` ? The ANN implementations would be free to make use of these methods if they prove helpful. If we go with this design, perhaps `ScoreFunction` would be renamed to something like `SearchStrategy`. Separately, I wonder if we need to expose a random access interface on the public `VectorValues`. When using vectors for scoring, iterator access seems sufficient. I’m having trouble thinking of a use for random access outside of ANN, and some ANN implementations don’t even need it -- for example most k-means and LSH approaches only need forward iteration. Would it make sense to keep the `VectorValues` surface area smaller and only provide iterator access? Random access could still be supported at a lower level, in a place that's available to HNSW. I’m not sure exactly how this would look, perhaps it'd be clearer once we see how HNSW will be integrated. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (LUCENE-9322) Discussing a unified vectors format API
[ https://issues.apache.org/jira/browse/LUCENE-9322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216503#comment-17216503 ] Julie Tibshirani commented on LUCENE-9322: -- Thank @msokolov for the great PR!! I left some belated thoughts on the PR regarding ScoreFunction. > Discussing a unified vectors format API > --- > > Key: LUCENE-9322 > URL: https://issues.apache.org/jira/browse/LUCENE-9322 > Project: Lucene - Core > Issue Type: New Feature >Reporter: Julie Tibshirani >Priority: Major > Fix For: master (9.0) > > Time Spent: 6h > Remaining Estimate: 0h > > Two different approximate nearest neighbor approaches are currently being > developed, one based on HNSW (LUCENE-9004) and another based on coarse > quantization ([#LUCENE-9136]). Each prototype proposes to add a new format to > handle vectors. In LUCENE-9136 we discussed the possibility of a unified API > that could support both approaches. The two ANN strategies give different > trade-offs in terms of speed, memory, and complexity, and it’s likely that > we’ll want to support both. Vector search is also an active research area, > and it would be great to be able to prototype and incorporate new approaches > without introducing more formats. > To me it seems like a good time to begin discussing a unified API. The > prototype for coarse quantization > ([https://github.com/apache/lucene-solr/pull/1314]) could be ready to commit > soon (this depends on everyone's feedback of course). The approach is simple > and shows solid search performance, as seen > [here|https://github.com/apache/lucene-solr/pull/1314#issuecomment-608645326]. > I think this API discussion is an important step in moving that > implementation forward. > The goals of the API would be > # Support for storing and retrieving individual float vectors. > # Support for approximate nearest neighbor search -- given a query vector, > return the indexed vectors that are closest to it. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Assigned] (SOLR-14944) solr metrics should remove "spins" references
[ https://issues.apache.org/jira/browse/SOLR-14944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrzej Bialecki reassigned SOLR-14944: --- Assignee: Andrzej Bialecki > solr metrics should remove "spins" references > - > > Key: SOLR-14944 > URL: https://issues.apache.org/jira/browse/SOLR-14944 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: metrics >Affects Versions: master (9.0) >Reporter: Robert Muir >Assignee: Andrzej Bialecki >Priority: Major > Fix For: master (9.0) > > > The lucene internal IOUtils.spins stuff was exposed in various ways here, in > order to not break stuff in LUCENE-9576 I simply wired these apis to > {{false}}, but they should probably be removed. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14944) solr metrics should remove "spins" references
[ https://issues.apache.org/jira/browse/SOLR-14944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216524#comment-17216524 ] Andrzej Bialecki commented on SOLR-14944: - +1 to remove this in 9.0. I'll also add a deprecation notice in 8x. > solr metrics should remove "spins" references > - > > Key: SOLR-14944 > URL: https://issues.apache.org/jira/browse/SOLR-14944 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: metrics >Affects Versions: master (9.0) >Reporter: Robert Muir >Assignee: Andrzej Bialecki >Priority: Major > Fix For: master (9.0) > > > The lucene internal IOUtils.spins stuff was exposed in various ways here, in > order to not break stuff in LUCENE-9576 I simply wired these apis to > {{false}}, but they should probably be removed. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14354) HttpShardHandler send requests in async
[ https://issues.apache.org/jira/browse/SOLR-14354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216596#comment-17216596 ] Atri Sharma commented on SOLR-14354: Where are we with this issue? This is marked as a blocker for 8.7 – is that still the case? > HttpShardHandler send requests in async > --- > > Key: SOLR-14354 > URL: https://issues.apache.org/jira/browse/SOLR-14354 > Project: Solr > Issue Type: Improvement >Reporter: Cao Manh Dat >Assignee: Cao Manh Dat >Priority: Blocker > Fix For: master (9.0), 8.7 > > Attachments: image-2020-03-23-10-04-08-399.png, > image-2020-03-23-10-09-10-221.png, image-2020-03-23-10-12-00-661.png > > Time Spent: 4h > Remaining Estimate: 0h > > h2. 1. Current approach (problem) of Solr > Below is the diagram describe the model on how currently handling a request. > !image-2020-03-23-10-04-08-399.png! > The main-thread that handles the search requests, will submit n requests (n > equals to number of shards) to an executor. So each request will correspond > to a thread, after sending a request that thread basically do nothing just > waiting for response from other side. That thread will be swapped out and CPU > will try to handle another thread (this is called context switch, CPU will > save the context of the current thread and switch to another one). When some > data (not all) come back, that thread will be called to parsing these data, > then it will wait until more data come back. So there will be lots of context > switching in CPU. That is quite inefficient on using threads.Basically we > want less threads and most of them must busy all the time, because threads > are not free as well as context switching. That is the main idea behind > everything, like executor > h2. 2. Async call of Jetty HttpClient > Jetty HttpClient offers async API like this. > {code:java} > httpClient.newRequest("http://domain.com/path";) > // Add request hooks > .onRequestQueued(request -> { ... }) > .onRequestBegin(request -> { ... }) > // Add response hooks > .onResponseBegin(response -> { ... }) > .onResponseHeaders(response -> { ... }) > .onResponseContent((response, buffer) -> { ... }) > .send(result -> { ... }); {code} > Therefore after calling {{send()}} the thread will return immediately without > any block. Then when the client received the header from other side, it will > call {{onHeaders()}} listeners. When the client received some {{byte[]}} (not > all response) from the data it will call {{onContent(buffer)}} listeners. > When everything finished it will call {{onComplete}} listeners. One main > thing that will must notice here is all listeners should finish quick, if the > listener block, all further data of that request won’t be handled until the > listener finish. > h2. 3. Solution 1: Sending requests async but spin one thread per response > Jetty HttpClient already provides several listeners, one of them is > InputStreamResponseListener. This is how it is get used > {code:java} > InputStreamResponseListener listener = new InputStreamResponseListener(); > client.newRequest(...).send(listener); > // Wait for the response headers to arrive > Response response = listener.get(5, TimeUnit.SECONDS); > if (response.getStatus() == 200) { > // Obtain the input stream on the response content > try (InputStream input = listener.getInputStream()) { > // Read the response content > } > } {code} > In this case, there will be 2 thread > * one thread trying to read the response content from InputStream > * one thread (this is a short-live task) feeding content to above > InputStream whenever some byte[] is available. Note that if this thread > unable to feed data into InputStream, this thread will wait. > By using this one, the model of HttpShardHandler can be written into > something like this > {code:java} > handler.sendReq(req, (is) -> { > executor.submit(() -> > try (is) { > // Read the content from InputStream > } > ) > }) {code} > The first diagram will be changed into this > !image-2020-03-23-10-09-10-221.png! > Notice that although “sending req to shard1” is wide, it won’t take long time > since sending req is a very quick operation. With this operation, handling > threads won’t be spin up until first bytes are sent back. Notice that in this > approach we still have active threads waiting for more data from InputStream > h2. 4. Solution 2: Buffering data and handle it inside jetty’s thread. > Jetty have another listener called BufferingResponseListener. This is how it > is get used > {code:java} > client.newRequest(...).send(new BufferingResponseListener() { > public void onComplete(Result result) { > try { > byte
[jira] [Commented] (SOLR-14067) Deprecate StatelessScriptUpdateProcessor and disabled by default
[ https://issues.apache.org/jira/browse/SOLR-14067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216598#comment-17216598 ] Atri Sharma commented on SOLR-14067: Is this a 8.7 blocker? > Deprecate StatelessScriptUpdateProcessor and disabled by default > > > Key: SOLR-14067 > URL: https://issues.apache.org/jira/browse/SOLR-14067 > Project: Solr > Issue Type: Improvement >Reporter: Ishan Chattopadhyaya >Priority: Blocker > Fix For: 8.7 > > Time Spent: 10m > Remaining Estimate: 0h > > We should eliminate all scripting capabilities within Solr. Let us start with > the StatelessScriptUpdateProcessor deprecation/removal. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-13973) Deprecate Tika
[ https://issues.apache.org/jira/browse/SOLR-13973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216597#comment-17216597 ] Atri Sharma commented on SOLR-13973: Do we want to treat this as. a blocker for 8.7? > Deprecate Tika > -- > > Key: SOLR-13973 > URL: https://issues.apache.org/jira/browse/SOLR-13973 > Project: Solr > Issue Type: Improvement >Reporter: Ishan Chattopadhyaya >Priority: Blocker > Fix For: 8.7 > > Time Spent: 10m > Remaining Estimate: 0h > > Solr's primary responsibility should be to focus on search and scalability. > Having to deal with the problems (CVEs) of Velocity, Tika etc. can slow us > down. I propose that we deprecate it going forward. > Tika can be run outside Solr. Going forward, if someone wants to use these, > it should be possible to bring them into third party packages and installed > via package manager. > Plan is to just to throw warnings in logs and add deprecation notes in > reference guide for now. Removal can be done in 9.0. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-11611) Starting Solr using solr.cmd fails under Windows, when the path contains a parenthesis character
[ https://issues.apache.org/jira/browse/SOLR-11611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216599#comment-17216599 ] Atri Sharma commented on SOLR-11611: Whats the status of this? Is this a 8.7 blocker? > Starting Solr using solr.cmd fails under Windows, when the path contains a > parenthesis character > > > Key: SOLR-11611 > URL: https://issues.apache.org/jira/browse/SOLR-11611 > Project: Solr > Issue Type: Bug > Components: scripts and tools, SolrCLI >Affects Versions: 7.1, 7.4 > Environment: Microsoft Windows [Version 10.0.15063] > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Jakob Furrer >Priority: Blocker > Fix For: 8.7 > > Attachments: SOLR-11611.patch, SOLR-11611.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > Starting Solr using solr.cli fails in Windows, when the path contains spaces. > Use the following example to reproduce the error: > {quote}C:\>c: > C:\>cd "C:\Program Files (x86)\Company Name\ProductName Solr\bin" > C:\Program Files (x86)\Company Name\ProductName Solr\bin>dir > Volume in Laufwerk C: hat keine Bezeichnung. > Volumeseriennummer: 8207-3B8B > Verzeichnis von C:\Program Files (x86)\Company Name\ProductName Solr\bin > 06.11.2017 15:52 . > 06.11.2017 15:52 .. > 06.11.2017 15:39 init.d > 03.11.2017 17:32 8 209 post > 03.11.2017 17:3275 963 solr > 06.11.2017 14:2469 407 solr.cmd >3 Datei(en),153 579 Bytes >3 Verzeichnis(se), 51 191 619 584 Bytes frei > C:\Program Files (x86)\Company Name\ProductName Solr\bin>solr.cmd start > *"\Company" kann syntaktisch an dieser Stelle nicht verarbeitet werden.* > C:\Program Files (x86)\Company Name\ProductName Solr\bin>{quote} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] shalinmangar opened a new pull request #2004: SOLR-14942: Reduce leader election time on node shutdown
shalinmangar opened a new pull request #2004: URL: https://github.com/apache/lucene-solr/pull/2004 This PR is based on the work of @CaoManhDat # Description The shutdown process waits for all replicas/cores to be closed before removing the election node of the leader. This can take some time due to index flush or merge activities on the leader cores and delays new leaders from being elected. This leads to long gap of time during which indexing requests fail. # Solution This PR introduces a Phaser that registers and deregisters all update requests. The shutdown process pauses indexing requests, waits for all in-flight indexing requests to complete, removes election nodes (thus triggering leader election) and then closes all replicas. # Tests Since this PR makes changes to Solr's shutdown process, it is difficult to write a unit/integration tests inside Solr itself. This was tested by creating a test harness outside of Solr. The steps were: - Create a Collection with 1 shard, 3 replicas - Do heavy indexing when all replicas are ACTIVE - Shut down the leader node - Measure the leaderless time (time during which there is no live/active leader) Before the patch | After the patch -- | -- Shutting down time: 100ms Leader election: 46s | Shutting down time: 12s Leader election: 3s Shutting down time: 37s Leader election: 3s | Shutting down time: 31s Leader election: 3s Shutting down time: 200ms Leader election: 17s | Shutting down time: 100ms Leader election: 3s Shutting down time: 200ms Leader election: 27s | Shutting down time: 4s Leader election: 3s Since the patch introduces waiting for all updates to finish before giving up the leadership so the shut down time gets increased on average, but also it makes leader election more stable and improves consistency. # Checklist Please review the following and check all that apply: - [X] I have reviewed the guidelines for [How to Contribute](https://wiki.apache.org/solr/HowToContribute) 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. - [ ] 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) - [X] I have developed this patch against the `master` branch. - [X] I have run `./gradlew check`. - [ ] I have added tests for my changes. - [ ] I have added documentation for the [Ref Guide](https://github.com/apache/lucene-solr/tree/master/solr/solr-ref-guide) (for Solr changes only). This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14944) solr metrics should remove "spins" references
[ https://issues.apache.org/jira/browse/SOLR-14944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216630#comment-17216630 ] ASF subversion and git services commented on SOLR-14944: Commit 54703128e0039e832e2c36407a0480caf8a0fe4e in lucene-solr's branch refs/heads/branch_8_7 from Andrzej Bialecki [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=5470312 ] SOLR-14944: Add a note about the removal of spinning disk detection and the corresponding metrics. > solr metrics should remove "spins" references > - > > Key: SOLR-14944 > URL: https://issues.apache.org/jira/browse/SOLR-14944 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: metrics >Affects Versions: master (9.0) >Reporter: Robert Muir >Assignee: Andrzej Bialecki >Priority: Major > Fix For: master (9.0) > > > The lucene internal IOUtils.spins stuff was exposed in various ways here, in > order to not break stuff in LUCENE-9576 I simply wired these apis to > {{false}}, but they should probably be removed. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14944) solr metrics should remove "spins" references
[ https://issues.apache.org/jira/browse/SOLR-14944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216629#comment-17216629 ] ASF subversion and git services commented on SOLR-14944: Commit 5fcae9bb2170f3a7267f4bc56fedd8a56021208d in lucene-solr's branch refs/heads/branch_8x from Andrzej Bialecki [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=5fcae9b ] SOLR-14944: Add a note about the removal of spinning disk detection and the corresponding metrics. > solr metrics should remove "spins" references > - > > Key: SOLR-14944 > URL: https://issues.apache.org/jira/browse/SOLR-14944 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: metrics >Affects Versions: master (9.0) >Reporter: Robert Muir >Assignee: Andrzej Bialecki >Priority: Major > Fix For: master (9.0) > > > The lucene internal IOUtils.spins stuff was exposed in various ways here, in > order to not break stuff in LUCENE-9576 I simply wired these apis to > {{false}}, but they should probably be removed. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] mocobeta commented on a change in pull request #2000: LUCENE-9318: Clean up package name conflicts for backward-codecs
mocobeta commented on a change in pull request #2000: URL: https://github.com/apache/lucene-solr/pull/2000#discussion_r507672358 ## File path: lucene/core/src/java/org/apache/lucene/index/IndexUpgrader.java ## @@ -77,9 +77,10 @@ private static void printUsage() { public static void main(String[] args) throws IOException { parseArgs(args).upgrade(); } - + + /** Parse arguments. */ @SuppressForbidden(reason = "System.out required: command line tool") - static IndexUpgrader parseArgs(String[] args) throws IOException { + public static IndexUpgrader parseArgs(String[] args) throws IOException { Review comment: fixed the test and reverted the change for IndexUpgrader. https://github.com/apache/lucene-solr/pull/2000/commits/2b9c1bfbd7ca589a297813938dbbe96472e27ad0 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14944) solr metrics should remove "spins" references
[ https://issues.apache.org/jira/browse/SOLR-14944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216651#comment-17216651 ] ASF subversion and git services commented on SOLR-14944: Commit 9ab9d208c7272126d76cf72d6a642bb0f97e0c35 in lucene-solr's branch refs/heads/master from Andrzej Bialecki [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=9ab9d20 ] SOLR-14944: Remove the "spins" metrics. > solr metrics should remove "spins" references > - > > Key: SOLR-14944 > URL: https://issues.apache.org/jira/browse/SOLR-14944 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: metrics >Affects Versions: master (9.0) >Reporter: Robert Muir >Assignee: Andrzej Bialecki >Priority: Major > Fix For: master (9.0) > > > The lucene internal IOUtils.spins stuff was exposed in various ways here, in > order to not break stuff in LUCENE-9576 I simply wired these apis to > {{false}}, but they should probably be removed. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Resolved] (SOLR-14944) solr metrics should remove "spins" references
[ https://issues.apache.org/jira/browse/SOLR-14944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrzej Bialecki resolved SOLR-14944. - Fix Version/s: 8.7 Resolution: Fixed > solr metrics should remove "spins" references > - > > Key: SOLR-14944 > URL: https://issues.apache.org/jira/browse/SOLR-14944 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: metrics >Affects Versions: master (9.0) >Reporter: Robert Muir >Assignee: Andrzej Bialecki >Priority: Major > Fix For: master (9.0), 8.7 > > > The lucene internal IOUtils.spins stuff was exposed in various ways here, in > order to not break stuff in LUCENE-9576 I simply wired these apis to > {{false}}, but they should probably be removed. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (LUCENE-9542) Score returned in search request is original score and not reranked score
[ https://issues.apache.org/jira/browse/LUCENE-9542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216661#comment-17216661 ] Krishan commented on LUCENE-9542: - Hey [~cpoerschke], This was happening on the LTR reranker when "sort" is present in the request. [http://localhost:8983/solr/techproducts/query?q=test&rq=%7B!ltr%20model=myModel%20reRankDocs=100%7D&fl=id,price,score,%5Bfeatures%5D&sort=price%20desc] The features and models are provided from [https://lucene.apache.org/solr/guide/6_6/learning-to-rank.html] Unfortunately, I am not able to reproduce right now (so could have been a different request structure) but I remember that if cmd.getSort() = null (which happens when "sort" is absent in request) the score returned is the reranked score. But if cmd.getSort() != null, the score returned is the original score. Root cause looked to me that "query" variable is a boolean query where as cmd.getQuery() is a type of RankQuery (and RankQuery is explicitly skipped in this condition). If this info is not enough, I can debug further to try to reproduce again and provide exact query on the example data. > Score returned in search request is original score and not reranked score > - > > Key: LUCENE-9542 > URL: https://issues.apache.org/jira/browse/LUCENE-9542 > Project: Lucene - Core > Issue Type: Bug >Affects Versions: 8.0 >Reporter: Krishan >Priority: Major > > Score returned in search request is original score and not reranked score > post the changes in https://issues.apache.org/jira/browse/LUCENE-8412. > Commit - > [https://github.com/apache/lucene-solr/commit/55bfadbce115a825a75686fe0bfe71406bc3ee44#diff-4e354f104ed52bd7f620b0c05ae8467d] > Specifically - > if (cmd.getSort() != null && query instanceof RankQuery == false && > (cmd.getFlags() & GET_SCORES) != 0) { > TopFieldCollector.populateScores(topDocs.scoreDocs, this, query); > } > in SolrIndexSearcher.java recomputes the score but outputs only the original > score and not the reranked score. > > The issue is cmd.getQuery() is a type of RankQuery but the "query" variable > is a boolean query and probably replacing query with cmd.getQuery() should be > the right fix for this so that the score is not overriden for rerank queries > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14067) Deprecate StatelessScriptUpdateProcessor and disabled by default
[ https://issues.apache.org/jira/browse/SOLR-14067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216660#comment-17216660 ] David Eric Pugh commented on SOLR-14067: I'm not sure that this is Blocker for 8.7, since we haven't started it yet. Still very interested in seeing it become a proper Package for Solr! > Deprecate StatelessScriptUpdateProcessor and disabled by default > > > Key: SOLR-14067 > URL: https://issues.apache.org/jira/browse/SOLR-14067 > Project: Solr > Issue Type: Improvement >Reporter: Ishan Chattopadhyaya >Priority: Blocker > Fix For: 8.7 > > Time Spent: 10m > Remaining Estimate: 0h > > We should eliminate all scripting capabilities within Solr. Let us start with > the StatelessScriptUpdateProcessor deprecation/removal. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14067) Deprecate StatelessScriptUpdateProcessor and disabled by default
[ https://issues.apache.org/jira/browse/SOLR-14067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216663#comment-17216663 ] David Eric Pugh commented on SOLR-14067: Reading back, I see that the plan is to move it over to /contrib, versus a totally seperate project. That seems more doable, and I'll see if I can take a whack at that for 8.8 or 9! If we move it to a /contrib project, then it isn't actually "Deprecated" right? It just isn't available to Solr without you adding it explicitly, correct? > Deprecate StatelessScriptUpdateProcessor and disabled by default > > > Key: SOLR-14067 > URL: https://issues.apache.org/jira/browse/SOLR-14067 > Project: Solr > Issue Type: Improvement >Reporter: Ishan Chattopadhyaya >Priority: Blocker > Fix For: 8.7 > > Time Spent: 10m > Remaining Estimate: 0h > > We should eliminate all scripting capabilities within Solr. Let us start with > the StatelessScriptUpdateProcessor deprecation/removal. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] msokolov commented on pull request #1930: LUCENE-9322: add VectorValues to new Lucene90 codec
msokolov commented on pull request #1930: URL: https://github.com/apache/lucene-solr/pull/1930#issuecomment-712104682 @jtibshirani I am in sympathy with your points; the scoring implementations don't really belong in VectorValues which is more of an abstract interface otherwise, and random-access API should really be an internal detail of the HNSW implementation. I did fiddle with ideas for hiding the RandomAccess API but see my comments about visibility in the thread above; I'm not yet sure what the best way is. Probably it will be easiest to address these as part of the HNSW patch, as you say, but if you have specific ideas, please feel free to post a PR! This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] epugh merged pull request #1999: SOLR-14943 Rework Monitoring Solr with Prometheus and Grafana ref guide to be clearer
epugh merged pull request #1999: URL: https://github.com/apache/lucene-solr/pull/1999 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14943) Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates!
[ https://issues.apache.org/jira/browse/SOLR-14943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216664#comment-17216664 ] ASF subversion and git services commented on SOLR-14943: Commit 43edf379c3403bc853715c89e705cd3b4af9ecea in lucene-solr's branch refs/heads/master from Eric Pugh [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=43edf37 ] SOLR-14943 Rework Monitoring Solr with Prometheus and Grafana ref guide page to be clearer (#1999) * fix some errors in the doc to match reality * bit more introductory text, and fix the embedded zk port * add sample image and a tip on directly importing from grafana.com * per discussion on github issue, this is no longer experimental contrib > Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates! > - > > Key: SOLR-14943 > URL: https://issues.apache.org/jira/browse/SOLR-14943 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: documentation >Affects Versions: 8.7 >Reporter: David Eric Pugh >Assignee: David Eric Pugh >Priority: Minor > Time Spent: 0.5h > Remaining Estimate: 0h > > I am learning by following the refguide page Monitoring Solr with Prometheus > and Grafana, and it needs some updates based on my learning from a pretty > novice level about Prometheus and Grafana! There are some incorrect ports in > the example commands, and or some paths that need updating that tripped me > up, and some transitions between sections would help onboard the next person. > For example, it a LONG time to figure out that I needed to run a Prometheus > server as well as grafana as well as the exporter process ;-) -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14943) Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates!
[ https://issues.apache.org/jira/browse/SOLR-14943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216665#comment-17216665 ] ASF subversion and git services commented on SOLR-14943: Commit 6f646f343fb809839f22764f2152bcf7c645db89 in lucene-solr's branch refs/heads/branch_8x from Eric Pugh [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=6f646f3 ] SOLR-14943 Rework Monitoring Solr with Prometheus and Grafana ref guide page to be clearer (#1999) * fix some errors in the doc to match reality * bit more introductory text, and fix the embedded zk port * add sample image and a tip on directly importing from grafana.com * per discussion on github issue, this is no longer experimental contrib > Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates! > - > > Key: SOLR-14943 > URL: https://issues.apache.org/jira/browse/SOLR-14943 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: documentation >Affects Versions: 8.7 >Reporter: David Eric Pugh >Assignee: David Eric Pugh >Priority: Minor > Time Spent: 0.5h > Remaining Estimate: 0h > > I am learning by following the refguide page Monitoring Solr with Prometheus > and Grafana, and it needs some updates based on my learning from a pretty > novice level about Prometheus and Grafana! There are some incorrect ports in > the example commands, and or some paths that need updating that tripped me > up, and some transitions between sections would help onboard the next person. > For example, it a LONG time to figure out that I needed to run a Prometheus > server as well as grafana as well as the exporter process ;-) -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14943) Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates!
[ https://issues.apache.org/jira/browse/SOLR-14943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216667#comment-17216667 ] ASF subversion and git services commented on SOLR-14943: Commit 4c8b71d1bf5c7747aa1f77013a4de374c7fb74a4 in lucene-solr's branch refs/heads/branch_8_7 from Eric Pugh [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=4c8b71d ] SOLR-14943 Rework Monitoring Solr with Prometheus and Grafana ref guide page to be clearer (#1999) * fix some errors in the doc to match reality * bit more introductory text, and fix the embedded zk port * add sample image and a tip on directly importing from grafana.com * per discussion on github issue, this is no longer experimental contrib > Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates! > - > > Key: SOLR-14943 > URL: https://issues.apache.org/jira/browse/SOLR-14943 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: documentation >Affects Versions: 8.7 >Reporter: David Eric Pugh >Assignee: David Eric Pugh >Priority: Minor > Time Spent: 0.5h > Remaining Estimate: 0h > > I am learning by following the refguide page Monitoring Solr with Prometheus > and Grafana, and it needs some updates based on my learning from a pretty > novice level about Prometheus and Grafana! There are some incorrect ports in > the example commands, and or some paths that need updating that tripped me > up, and some transitions between sections would help onboard the next person. > For example, it a LONG time to figure out that I needed to run a Prometheus > server as well as grafana as well as the exporter process ;-) -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Resolved] (SOLR-14943) Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates!
[ https://issues.apache.org/jira/browse/SOLR-14943?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Eric Pugh resolved SOLR-14943. Fix Version/s: 8.7 Resolution: Fixed > Monitoring Solr with Prometheus and Grafana Ref Guide Page Needs Updates! > - > > Key: SOLR-14943 > URL: https://issues.apache.org/jira/browse/SOLR-14943 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: documentation >Affects Versions: 8.7 >Reporter: David Eric Pugh >Assignee: David Eric Pugh >Priority: Minor > Fix For: 8.7 > > Time Spent: 0.5h > Remaining Estimate: 0h > > I am learning by following the refguide page Monitoring Solr with Prometheus > and Grafana, and it needs some updates based on my learning from a pretty > novice level about Prometheus and Grafana! There are some incorrect ports in > the example commands, and or some paths that need updating that tripped me > up, and some transitions between sections would help onboard the next person. > For example, it a LONG time to figure out that I needed to run a Prometheus > server as well as grafana as well as the exporter process ;-) -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] mocobeta commented on pull request #2000: LUCENE-9318: Clean up package name conflicts for backward-codecs
mocobeta commented on pull request #2000: URL: https://github.com/apache/lucene-solr/pull/2000#issuecomment-712117730 Thanks guys for review. I merged the latest master and resolved conflicts (had a bit trouble though...) I have checked the changes again whether there is no unexpected modifications. I'll merge it soon after the checks by Github action are done. If any follow-ups are needed, I'll catch them later. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14067) Deprecate StatelessScriptUpdateProcessor and disabled by default
[ https://issues.apache.org/jira/browse/SOLR-14067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216676#comment-17216676 ] David Smiley commented on SOLR-14067: - Moving to "contrib" makes sense to me. It's useful and committers like me want to maintain it. Correct, that "moving" (esp. to contrib) is not "deprecating". I wish we would not use the "deprecated" word to refer to moving to 3rd party package either, but that's not happening here any way. > Deprecate StatelessScriptUpdateProcessor and disabled by default > > > Key: SOLR-14067 > URL: https://issues.apache.org/jira/browse/SOLR-14067 > Project: Solr > Issue Type: Improvement >Reporter: Ishan Chattopadhyaya >Priority: Blocker > Fix For: 8.7 > > Time Spent: 10m > Remaining Estimate: 0h > > We should eliminate all scripting capabilities within Solr. Let us start with > the StatelessScriptUpdateProcessor deprecation/removal. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14354) HttpShardHandler send requests in async
[ https://issues.apache.org/jira/browse/SOLR-14354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216677#comment-17216677 ] David Smiley commented on SOLR-14354: - What's blocking is that it needs to be reverted from 8.7. [~caomanhdat] shall you? > HttpShardHandler send requests in async > --- > > Key: SOLR-14354 > URL: https://issues.apache.org/jira/browse/SOLR-14354 > Project: Solr > Issue Type: Improvement >Reporter: Cao Manh Dat >Assignee: Cao Manh Dat >Priority: Blocker > Fix For: master (9.0), 8.7 > > Attachments: image-2020-03-23-10-04-08-399.png, > image-2020-03-23-10-09-10-221.png, image-2020-03-23-10-12-00-661.png > > Time Spent: 4h > Remaining Estimate: 0h > > h2. 1. Current approach (problem) of Solr > Below is the diagram describe the model on how currently handling a request. > !image-2020-03-23-10-04-08-399.png! > The main-thread that handles the search requests, will submit n requests (n > equals to number of shards) to an executor. So each request will correspond > to a thread, after sending a request that thread basically do nothing just > waiting for response from other side. That thread will be swapped out and CPU > will try to handle another thread (this is called context switch, CPU will > save the context of the current thread and switch to another one). When some > data (not all) come back, that thread will be called to parsing these data, > then it will wait until more data come back. So there will be lots of context > switching in CPU. That is quite inefficient on using threads.Basically we > want less threads and most of them must busy all the time, because threads > are not free as well as context switching. That is the main idea behind > everything, like executor > h2. 2. Async call of Jetty HttpClient > Jetty HttpClient offers async API like this. > {code:java} > httpClient.newRequest("http://domain.com/path";) > // Add request hooks > .onRequestQueued(request -> { ... }) > .onRequestBegin(request -> { ... }) > // Add response hooks > .onResponseBegin(response -> { ... }) > .onResponseHeaders(response -> { ... }) > .onResponseContent((response, buffer) -> { ... }) > .send(result -> { ... }); {code} > Therefore after calling {{send()}} the thread will return immediately without > any block. Then when the client received the header from other side, it will > call {{onHeaders()}} listeners. When the client received some {{byte[]}} (not > all response) from the data it will call {{onContent(buffer)}} listeners. > When everything finished it will call {{onComplete}} listeners. One main > thing that will must notice here is all listeners should finish quick, if the > listener block, all further data of that request won’t be handled until the > listener finish. > h2. 3. Solution 1: Sending requests async but spin one thread per response > Jetty HttpClient already provides several listeners, one of them is > InputStreamResponseListener. This is how it is get used > {code:java} > InputStreamResponseListener listener = new InputStreamResponseListener(); > client.newRequest(...).send(listener); > // Wait for the response headers to arrive > Response response = listener.get(5, TimeUnit.SECONDS); > if (response.getStatus() == 200) { > // Obtain the input stream on the response content > try (InputStream input = listener.getInputStream()) { > // Read the response content > } > } {code} > In this case, there will be 2 thread > * one thread trying to read the response content from InputStream > * one thread (this is a short-live task) feeding content to above > InputStream whenever some byte[] is available. Note that if this thread > unable to feed data into InputStream, this thread will wait. > By using this one, the model of HttpShardHandler can be written into > something like this > {code:java} > handler.sendReq(req, (is) -> { > executor.submit(() -> > try (is) { > // Read the content from InputStream > } > ) > }) {code} > The first diagram will be changed into this > !image-2020-03-23-10-09-10-221.png! > Notice that although “sending req to shard1” is wide, it won’t take long time > since sending req is a very quick operation. With this operation, handling > threads won’t be spin up until first bytes are sent back. Notice that in this > approach we still have active threads waiting for more data from InputStream > h2. 4. Solution 2: Buffering data and handle it inside jetty’s thread. > Jetty have another listener called BufferingResponseListener. This is how it > is get used > {code:java} > client.newRequest(...).send(new BufferingResponseListener() { > public void onComplete(Result result) { > try { > byte[] res
[GitHub] [lucene-solr] mocobeta merged pull request #2000: LUCENE-9318: Clean up package name conflicts for backward-codecs
mocobeta merged pull request #2000: URL: https://github.com/apache/lucene-solr/pull/2000 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (LUCENE-9318) Fix Codec API to not rely on package-private classes as part of changes to support java module system
[ https://issues.apache.org/jira/browse/LUCENE-9318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216679#comment-17216679 ] ASF subversion and git services commented on LUCENE-9318: - Commit 44c1bd42c577e32b29032c8fb4b7e64729d4623b in lucene-solr's branch refs/heads/master from Tomoko Uchida [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=44c1bd4 ] LUCENE-9318: Clean up package name conflicts for backward-codecs (#2000) > Fix Codec API to not rely on package-private classes as part of changes to > support java module system > - > > Key: LUCENE-9318 > URL: https://issues.apache.org/jira/browse/LUCENE-9318 > Project: Lucene - Core > Issue Type: Improvement > Components: core/other >Affects Versions: master (9.0) >Reporter: David Ryan >Priority: Major > Labels: build, features > Time Spent: 1.5h > Remaining Estimate: 0h > > To allow Lucene to be modularised with Java module system there are a few > preparatory tasks to be completed prior to this being possible. These are > detailed by Uwe on the mailing list here: > [http://mail-archives.apache.org/mod_mbox/lucene-dev/202004.mbox/%3c0a5e01d60ff2$563f9c80$02bed580$@thetaphi.de%3e] > > This task is: > {quote}Fix Codec API to not rely on package-private classes, so we can have a > completely public API with abstract classes for codecs, so stuff in > backwards-codecs does not need to have access to package private stuff in > core. > {quote} > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] janhoy merged pull request #1986: SOLR-14936: Fixed Grafana dashboard filters
janhoy merged pull request #1986: URL: https://github.com/apache/lucene-solr/pull/1986 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14936) Grafana dashboard filters for collection, shard, replica, core not working
[ https://issues.apache.org/jira/browse/SOLR-14936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216693#comment-17216693 ] Jan Høydahl commented on SOLR-14936: Thanks for the review Eric - I merged to master, will backport to 8.7 once I get RM permission. > Grafana dashboard filters for collection, shard, replica, core not working > -- > > Key: SOLR-14936 > URL: https://issues.apache.org/jira/browse/SOLR-14936 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: contrib - prometheus-exporter >Reporter: Jan Høydahl >Assignee: Jan Høydahl >Priority: Major > Labels: grafana, prometheus > Attachments: image-2020-10-15-15-33-22-332.png > > Time Spent: 20m > Remaining Estimate: 0h > > !image-2020-10-15-15-33-22-332.png! > [https://lucene.apache.org/solr/guide/8_6/monitoring-solr-with-prometheus-and-grafana.html#sample-grafana-dashboard] > > On top of the Grafana dashboard for the Prometheus Exporter, there are some > drop downs intended to filter the graphs. Only the {{zk_host}} and > {{base_url}} dropdowns seem to work. For the collection, shard, replicas and > core, they only list "All" value. > Investigation showed that the dashboard was never really completed. Grafana > template variable definitions were mostly wrong (using {{=}} instead of > {{=~)}}, and lots of core graph definitions only filtered on {{base_url}}, > not all the others. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14936) Grafana dashboard filters for collection, shard, replica, core not working
[ https://issues.apache.org/jira/browse/SOLR-14936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216691#comment-17216691 ] ASF subversion and git services commented on SOLR-14936: Commit 3bc873e6d403ad2ebd69a3050712cc8cac967241 in lucene-solr's branch refs/heads/master from Jan Høydahl [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=3bc873e ] SOLR-14936: Fixed Grafana dashboard filters for collection, shard, replica and core (#1986) > Grafana dashboard filters for collection, shard, replica, core not working > -- > > Key: SOLR-14936 > URL: https://issues.apache.org/jira/browse/SOLR-14936 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: contrib - prometheus-exporter >Reporter: Jan Høydahl >Assignee: Jan Høydahl >Priority: Major > Labels: grafana, prometheus > Attachments: image-2020-10-15-15-33-22-332.png > > Time Spent: 20m > Remaining Estimate: 0h > > !image-2020-10-15-15-33-22-332.png! > [https://lucene.apache.org/solr/guide/8_6/monitoring-solr-with-prometheus-and-grafana.html#sample-grafana-dashboard] > > On top of the Grafana dashboard for the Prometheus Exporter, there are some > drop downs intended to filter the graphs. Only the {{zk_host}} and > {{base_url}} dropdowns seem to work. For the collection, shard, replicas and > core, they only list "All" value. > Investigation showed that the dashboard was never really completed. Grafana > template variable definitions were mostly wrong (using {{=}} instead of > {{=~)}}, and lots of core graph definitions only filtered on {{base_url}}, > not all the others. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-13973) Deprecate Tika
[ https://issues.apache.org/jira/browse/SOLR-13973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216695#comment-17216695 ] David Smiley commented on SOLR-13973: - I don't think we should deprecate this because it is important enough for our users. Telling a user "Deprecated" tells them to use something else, but there are no ready-made alternatives. Two options: SOLR-7632 (external Tika server) or moving this to a 3rd party "package" will address the user need. Tim, if you want to do the latter, I can help. Given that we have an active committer here maintaining ExtractingRequestHandler (Tim Allison), I'm not sure why we need to remove it from Solr altogether. My chief complaint is all those JARs adding weight to a default distribution, but that's solveable either by SOLR-7632 (which addresses the same-JVM issue as well), or by the "slim Solr" contrib proposal of Ishan/Noble. > Deprecate Tika > -- > > Key: SOLR-13973 > URL: https://issues.apache.org/jira/browse/SOLR-13973 > Project: Solr > Issue Type: Improvement >Reporter: Ishan Chattopadhyaya >Priority: Blocker > Fix For: 8.7 > > Time Spent: 10m > Remaining Estimate: 0h > > Solr's primary responsibility should be to focus on search and scalability. > Having to deal with the problems (CVEs) of Velocity, Tika etc. can slow us > down. I propose that we deprecate it going forward. > Tika can be run outside Solr. Going forward, if someone wants to use these, > it should be possible to bring them into third party packages and installed > via package manager. > Plan is to just to throw warnings in logs and add deprecation notes in > reference guide for now. Removal can be done in 9.0. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Resolved] (LUCENE-9318) Fix Codec API to not rely on package-private classes as part of changes to support java module system
[ https://issues.apache.org/jira/browse/LUCENE-9318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tomoko Uchida resolved LUCENE-9318. --- Assignee: Tomoko Uchida Resolution: Fixed > Fix Codec API to not rely on package-private classes as part of changes to > support java module system > - > > Key: LUCENE-9318 > URL: https://issues.apache.org/jira/browse/LUCENE-9318 > Project: Lucene - Core > Issue Type: Improvement > Components: core/other >Affects Versions: master (9.0) >Reporter: David Ryan >Assignee: Tomoko Uchida >Priority: Major > Labels: build, features > Time Spent: 1h 40m > Remaining Estimate: 0h > > To allow Lucene to be modularised with Java module system there are a few > preparatory tasks to be completed prior to this being possible. These are > detailed by Uwe on the mailing list here: > [http://mail-archives.apache.org/mod_mbox/lucene-dev/202004.mbox/%3c0a5e01d60ff2$563f9c80$02bed580$@thetaphi.de%3e] > > This task is: > {quote}Fix Codec API to not rely on package-private classes, so we can have a > completely public API with abstract classes for codecs, so stuff in > backwards-codecs does not need to have access to package private stuff in > core. > {quote} > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Resolved] (LUCENE-9317) Resolve package name conflicts for StandardAnalyzer to allow Java module system support
[ https://issues.apache.org/jira/browse/LUCENE-9317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tomoko Uchida resolved LUCENE-9317. --- Fix Version/s: master (9.0) Resolution: Fixed > Resolve package name conflicts for StandardAnalyzer to allow Java module > system support > --- > > Key: LUCENE-9317 > URL: https://issues.apache.org/jira/browse/LUCENE-9317 > Project: Lucene - Core > Issue Type: Improvement > Components: core/other >Affects Versions: master (9.0) >Reporter: David Ryan >Assignee: Tomoko Uchida >Priority: Major > Labels: build, features > Fix For: master (9.0) > > Time Spent: 7h 20m > Remaining Estimate: 0h > > > To allow Lucene to be modularised there are a few preparatory tasks to be > completed prior to this being possible. The Java module system requires that > jars do not use the same package name in different jars. The lucene-core and > lucene-analyzers-common both share the package > org.apache.lucene.analysis.standard. > Possible resolutions to this issue are discussed by Uwe on the mailing list > here: > > [http://mail-archives.apache.org/mod_mbox/lucene-dev/202004.mbox/%3CCAM21Rt8FHOq_JeUSELhsQJH0uN0eKBgduBQX4fQKxbs49TLqzA%40mail.gmail.com%3E] > {quote}About StandardAnalyzer: Unfortunately I aggressively complained a > while back when Mike McCandless wanted to move standard analyzer out of the > analysis package into core (“for convenience”). This was a bad step, and IMHO > we should revert that or completely rename the packages and everything. The > problem here is: As the analysis services are only part of lucene-analyzers, > we had to leave the factory classes there, but move the implementation > classes in core. The package has to be the same. The only way around that is > to move the analysis factory framework also to core (I would not be against > that). This would include all factory base classes and the service loading > stuff. Then we can move standard analyzer and some of the filters/tokenizers > including their factories to core an that problem would be solved. > {quote} > There are two options here, either move factory framework into core or revert > StandardAnalyzer back to lucene-analyzers. In the email, the solution lands > on reverting back as per the task list: > {quote}Add some preparatory issues to cleanup class hierarchy: Move Analysis > SPI to core / remove StandardAnalyzer and related classes out of core back to > anaysis > {quote} > > > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (LUCENE-9318) Fix Codec API to not rely on package-private classes as part of changes to support java module system
[ https://issues.apache.org/jira/browse/LUCENE-9318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tomoko Uchida updated LUCENE-9318: -- Fix Version/s: master (9.0) > Fix Codec API to not rely on package-private classes as part of changes to > support java module system > - > > Key: LUCENE-9318 > URL: https://issues.apache.org/jira/browse/LUCENE-9318 > Project: Lucene - Core > Issue Type: Improvement > Components: core/other >Affects Versions: master (9.0) >Reporter: David Ryan >Assignee: Tomoko Uchida >Priority: Major > Labels: build, features > Fix For: master (9.0) > > Time Spent: 1h 40m > Remaining Estimate: 0h > > To allow Lucene to be modularised with Java module system there are a few > preparatory tasks to be completed prior to this being possible. These are > detailed by Uwe on the mailing list here: > [http://mail-archives.apache.org/mod_mbox/lucene-dev/202004.mbox/%3c0a5e01d60ff2$563f9c80$02bed580$@thetaphi.de%3e] > > This task is: > {quote}Fix Codec API to not rely on package-private classes, so we can have a > completely public API with abstract classes for codecs, so stuff in > backwards-codecs does not need to have access to package private stuff in > core. > {quote} > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14354) HttpShardHandler send requests in async
[ https://issues.apache.org/jira/browse/SOLR-14354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216711#comment-17216711 ] Cao Manh Dat commented on SOLR-14354: - Let's do a vote here, shall we? I'm +1 with keeping this as it is now. > HttpShardHandler send requests in async > --- > > Key: SOLR-14354 > URL: https://issues.apache.org/jira/browse/SOLR-14354 > Project: Solr > Issue Type: Improvement >Reporter: Cao Manh Dat >Assignee: Cao Manh Dat >Priority: Blocker > Fix For: master (9.0), 8.7 > > Attachments: image-2020-03-23-10-04-08-399.png, > image-2020-03-23-10-09-10-221.png, image-2020-03-23-10-12-00-661.png > > Time Spent: 4h > Remaining Estimate: 0h > > h2. 1. Current approach (problem) of Solr > Below is the diagram describe the model on how currently handling a request. > !image-2020-03-23-10-04-08-399.png! > The main-thread that handles the search requests, will submit n requests (n > equals to number of shards) to an executor. So each request will correspond > to a thread, after sending a request that thread basically do nothing just > waiting for response from other side. That thread will be swapped out and CPU > will try to handle another thread (this is called context switch, CPU will > save the context of the current thread and switch to another one). When some > data (not all) come back, that thread will be called to parsing these data, > then it will wait until more data come back. So there will be lots of context > switching in CPU. That is quite inefficient on using threads.Basically we > want less threads and most of them must busy all the time, because threads > are not free as well as context switching. That is the main idea behind > everything, like executor > h2. 2. Async call of Jetty HttpClient > Jetty HttpClient offers async API like this. > {code:java} > httpClient.newRequest("http://domain.com/path";) > // Add request hooks > .onRequestQueued(request -> { ... }) > .onRequestBegin(request -> { ... }) > // Add response hooks > .onResponseBegin(response -> { ... }) > .onResponseHeaders(response -> { ... }) > .onResponseContent((response, buffer) -> { ... }) > .send(result -> { ... }); {code} > Therefore after calling {{send()}} the thread will return immediately without > any block. Then when the client received the header from other side, it will > call {{onHeaders()}} listeners. When the client received some {{byte[]}} (not > all response) from the data it will call {{onContent(buffer)}} listeners. > When everything finished it will call {{onComplete}} listeners. One main > thing that will must notice here is all listeners should finish quick, if the > listener block, all further data of that request won’t be handled until the > listener finish. > h2. 3. Solution 1: Sending requests async but spin one thread per response > Jetty HttpClient already provides several listeners, one of them is > InputStreamResponseListener. This is how it is get used > {code:java} > InputStreamResponseListener listener = new InputStreamResponseListener(); > client.newRequest(...).send(listener); > // Wait for the response headers to arrive > Response response = listener.get(5, TimeUnit.SECONDS); > if (response.getStatus() == 200) { > // Obtain the input stream on the response content > try (InputStream input = listener.getInputStream()) { > // Read the response content > } > } {code} > In this case, there will be 2 thread > * one thread trying to read the response content from InputStream > * one thread (this is a short-live task) feeding content to above > InputStream whenever some byte[] is available. Note that if this thread > unable to feed data into InputStream, this thread will wait. > By using this one, the model of HttpShardHandler can be written into > something like this > {code:java} > handler.sendReq(req, (is) -> { > executor.submit(() -> > try (is) { > // Read the content from InputStream > } > ) > }) {code} > The first diagram will be changed into this > !image-2020-03-23-10-09-10-221.png! > Notice that although “sending req to shard1” is wide, it won’t take long time > since sending req is a very quick operation. With this operation, handling > threads won’t be spin up until first bytes are sent back. Notice that in this > approach we still have active threads waiting for more data from InputStream > h2. 4. Solution 2: Buffering data and handle it inside jetty’s thread. > Jetty have another listener called BufferingResponseListener. This is how it > is get used > {code:java} > client.newRequest(...).send(new BufferingResponseListener() { > public void onComplete(Result result) { > try { > byte[] response = getCo
[GitHub] [lucene-solr] CaoManhDat commented on pull request #2004: SOLR-14942: Reduce leader election time on node shutdown
CaoManhDat commented on pull request #2004: URL: https://github.com/apache/lucene-solr/pull/2004#issuecomment-712152752 +1 LGTM! This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] risdenk closed pull request #1989: SOLR-14549 - Fix listing of Files in a Directory on Solr Admin UI
risdenk closed pull request #1989: URL: https://github.com/apache/lucene-solr/pull/1989 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14549) Listing of Files in a Directory on Solr Admin is Broken
[ https://issues.apache.org/jira/browse/SOLR-14549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216729#comment-17216729 ] ASF subversion and git services commented on SOLR-14549: Commit 6ac5747d76300b153bee25268d3d7988aaa2caf9 in lucene-solr's branch refs/heads/master from Kevin Risden [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=6ac5747 ] SOLR-14549: Fix listing of Files in a Directory on Solr Admin UI * Ensure that jstree can update data behind the scenes * Fix file jstree object to represent open/closed correctly * Upgrade jstree to 3.3.10 for compatibility with JQuery 3.5.x Closes #1989 > Listing of Files in a Directory on Solr Admin is Broken > --- > > Key: SOLR-14549 > URL: https://issues.apache.org/jira/browse/SOLR-14549 > Project: Solr > Issue Type: Bug > Components: Admin UI >Affects Versions: master (9.0), 8.6, 8.5.1, 8.5.2, 8.6.1, 8.6.2, 8.6.3 >Reporter: David Eric Pugh >Assignee: Kevin Risden >Priority: Major > Attachments: Screenshot at Jun 09 07-40-06.png > > Time Spent: 0.5h > Remaining Estimate: 0h > > The Admin interface for showing files only lets you see the top level files, > no nested files in a directory: > http://localhost:8983/solr/#/gettingstarted/files?file=lang%2F > Choosing a nested directory doesn't generate any console errors, but the tree > doesn't open. > I believe this was introduced during SOLR-14209 upgrade in Jquery. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14549) Listing of Files in a Directory on Solr Admin is Broken
[ https://issues.apache.org/jira/browse/SOLR-14549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Risden updated SOLR-14549: Fix Version/s: master (9.0) > Listing of Files in a Directory on Solr Admin is Broken > --- > > Key: SOLR-14549 > URL: https://issues.apache.org/jira/browse/SOLR-14549 > Project: Solr > Issue Type: Bug > Components: Admin UI >Affects Versions: master (9.0), 8.6, 8.5.1, 8.5.2, 8.6.1, 8.6.2, 8.6.3 >Reporter: David Eric Pugh >Assignee: Kevin Risden >Priority: Major > Fix For: master (9.0) > > Attachments: Screenshot at Jun 09 07-40-06.png > > Time Spent: 40m > Remaining Estimate: 0h > > The Admin interface for showing files only lets you see the top level files, > no nested files in a directory: > http://localhost:8983/solr/#/gettingstarted/files?file=lang%2F > Choosing a nested directory doesn't generate any console errors, but the tree > doesn't open. > I believe this was introduced during SOLR-14209 upgrade in Jquery. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14549) Listing of Files in a Directory on Solr Admin is Broken
[ https://issues.apache.org/jira/browse/SOLR-14549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Risden updated SOLR-14549: Fix Version/s: 8.8 > Listing of Files in a Directory on Solr Admin is Broken > --- > > Key: SOLR-14549 > URL: https://issues.apache.org/jira/browse/SOLR-14549 > Project: Solr > Issue Type: Bug > Components: Admin UI >Affects Versions: master (9.0), 8.6, 8.5.1, 8.5.2, 8.6.1, 8.6.2, 8.6.3 >Reporter: David Eric Pugh >Assignee: Kevin Risden >Priority: Major > Fix For: master (9.0), 8.8 > > Attachments: Screenshot at Jun 09 07-40-06.png > > Time Spent: 40m > Remaining Estimate: 0h > > The Admin interface for showing files only lets you see the top level files, > no nested files in a directory: > http://localhost:8983/solr/#/gettingstarted/files?file=lang%2F > Choosing a nested directory doesn't generate any console errors, but the tree > doesn't open. > I believe this was introduced during SOLR-14209 upgrade in Jquery. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14549) Listing of Files in a Directory on Solr Admin is Broken
[ https://issues.apache.org/jira/browse/SOLR-14549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216731#comment-17216731 ] ASF subversion and git services commented on SOLR-14549: Commit ec3439611092e9b9f4f7c6735d2b2f2913e9cd11 in lucene-solr's branch refs/heads/branch_8x from Kevin Risden [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=ec34396 ] SOLR-14549: Fix listing of Files in a Directory on Solr Admin UI * Ensure that jstree can update data behind the scenes * Fix file jstree object to represent open/closed correctly * Upgrade jstree to 3.3.10 for compatibility with JQuery 3.5.x Closes #1989 > Listing of Files in a Directory on Solr Admin is Broken > --- > > Key: SOLR-14549 > URL: https://issues.apache.org/jira/browse/SOLR-14549 > Project: Solr > Issue Type: Bug > Components: Admin UI >Affects Versions: master (9.0), 8.6, 8.5.1, 8.5.2, 8.6.1, 8.6.2, 8.6.3 >Reporter: David Eric Pugh >Assignee: Kevin Risden >Priority: Major > Fix For: master (9.0), 8.8 > > Attachments: Screenshot at Jun 09 07-40-06.png > > Time Spent: 40m > Remaining Estimate: 0h > > The Admin interface for showing files only lets you see the top level files, > no nested files in a directory: > http://localhost:8983/solr/#/gettingstarted/files?file=lang%2F > Choosing a nested directory doesn't generate any console errors, but the tree > doesn't open. > I believe this was introduced during SOLR-14209 upgrade in Jquery. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14549) Listing of Files in a Directory on Solr Admin is Broken
[ https://issues.apache.org/jira/browse/SOLR-14549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Risden updated SOLR-14549: Fix Version/s: (was: 8.8) 8.7 > Listing of Files in a Directory on Solr Admin is Broken > --- > > Key: SOLR-14549 > URL: https://issues.apache.org/jira/browse/SOLR-14549 > Project: Solr > Issue Type: Bug > Components: Admin UI >Affects Versions: master (9.0), 8.6, 8.5.1, 8.5.2, 8.6.1, 8.6.2, 8.6.3 >Reporter: David Eric Pugh >Assignee: Kevin Risden >Priority: Major > Fix For: master (9.0), 8.7 > > Attachments: Screenshot at Jun 09 07-40-06.png > > Time Spent: 40m > Remaining Estimate: 0h > > The Admin interface for showing files only lets you see the top level files, > no nested files in a directory: > http://localhost:8983/solr/#/gettingstarted/files?file=lang%2F > Choosing a nested directory doesn't generate any console errors, but the tree > doesn't open. > I believe this was introduced during SOLR-14209 upgrade in Jquery. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14549) Listing of Files in a Directory on Solr Admin is Broken
[ https://issues.apache.org/jira/browse/SOLR-14549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kevin Risden updated SOLR-14549: Resolution: Fixed Status: Resolved (was: Patch Available) > Listing of Files in a Directory on Solr Admin is Broken > --- > > Key: SOLR-14549 > URL: https://issues.apache.org/jira/browse/SOLR-14549 > Project: Solr > Issue Type: Bug > Components: Admin UI >Affects Versions: master (9.0), 8.6, 8.5.1, 8.5.2, 8.6.1, 8.6.2, 8.6.3 >Reporter: David Eric Pugh >Assignee: Kevin Risden >Priority: Major > Fix For: master (9.0), 8.7 > > Attachments: Screenshot at Jun 09 07-40-06.png > > Time Spent: 40m > Remaining Estimate: 0h > > The Admin interface for showing files only lets you see the top level files, > no nested files in a directory: > http://localhost:8983/solr/#/gettingstarted/files?file=lang%2F > Choosing a nested directory doesn't generate any console errors, but the tree > doesn't open. > I believe this was introduced during SOLR-14209 upgrade in Jquery. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14549) Listing of Files in a Directory on Solr Admin is Broken
[ https://issues.apache.org/jira/browse/SOLR-14549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216733#comment-17216733 ] ASF subversion and git services commented on SOLR-14549: Commit d5531e9b7f98a535bf952fabc4f5c07ffbfe6406 in lucene-solr's branch refs/heads/branch_8_7 from Kevin Risden [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=d5531e9 ] SOLR-14549: Fix listing of Files in a Directory on Solr Admin UI * Ensure that jstree can update data behind the scenes * Fix file jstree object to represent open/closed correctly * Upgrade jstree to 3.3.10 for compatibility with JQuery 3.5.x Closes #1989 > Listing of Files in a Directory on Solr Admin is Broken > --- > > Key: SOLR-14549 > URL: https://issues.apache.org/jira/browse/SOLR-14549 > Project: Solr > Issue Type: Bug > Components: Admin UI >Affects Versions: master (9.0), 8.6, 8.5.1, 8.5.2, 8.6.1, 8.6.2, 8.6.3 >Reporter: David Eric Pugh >Assignee: Kevin Risden >Priority: Major > Fix For: master (9.0), 8.7 > > Attachments: Screenshot at Jun 09 07-40-06.png > > Time Spent: 40m > Remaining Estimate: 0h > > The Admin interface for showing files only lets you see the top level files, > no nested files in a directory: > http://localhost:8983/solr/#/gettingstarted/files?file=lang%2F > Choosing a nested directory doesn't generate any console errors, but the tree > doesn't open. > I believe this was introduced during SOLR-14209 upgrade in Jquery. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14354) HttpShardHandler send requests in async
[ https://issues.apache.org/jira/browse/SOLR-14354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216739#comment-17216739 ] David Smiley commented on SOLR-14354: - -1, mainly because the API that is committed is not something I think our users should see (hence Rishi's contribution that is in-progress). Were it not for that, I'd be indifferent based on Mark's opinions, which suggest to me a major release version is safer. > HttpShardHandler send requests in async > --- > > Key: SOLR-14354 > URL: https://issues.apache.org/jira/browse/SOLR-14354 > Project: Solr > Issue Type: Improvement >Reporter: Cao Manh Dat >Assignee: Cao Manh Dat >Priority: Blocker > Fix For: master (9.0), 8.7 > > Attachments: image-2020-03-23-10-04-08-399.png, > image-2020-03-23-10-09-10-221.png, image-2020-03-23-10-12-00-661.png > > Time Spent: 4h > Remaining Estimate: 0h > > h2. 1. Current approach (problem) of Solr > Below is the diagram describe the model on how currently handling a request. > !image-2020-03-23-10-04-08-399.png! > The main-thread that handles the search requests, will submit n requests (n > equals to number of shards) to an executor. So each request will correspond > to a thread, after sending a request that thread basically do nothing just > waiting for response from other side. That thread will be swapped out and CPU > will try to handle another thread (this is called context switch, CPU will > save the context of the current thread and switch to another one). When some > data (not all) come back, that thread will be called to parsing these data, > then it will wait until more data come back. So there will be lots of context > switching in CPU. That is quite inefficient on using threads.Basically we > want less threads and most of them must busy all the time, because threads > are not free as well as context switching. That is the main idea behind > everything, like executor > h2. 2. Async call of Jetty HttpClient > Jetty HttpClient offers async API like this. > {code:java} > httpClient.newRequest("http://domain.com/path";) > // Add request hooks > .onRequestQueued(request -> { ... }) > .onRequestBegin(request -> { ... }) > // Add response hooks > .onResponseBegin(response -> { ... }) > .onResponseHeaders(response -> { ... }) > .onResponseContent((response, buffer) -> { ... }) > .send(result -> { ... }); {code} > Therefore after calling {{send()}} the thread will return immediately without > any block. Then when the client received the header from other side, it will > call {{onHeaders()}} listeners. When the client received some {{byte[]}} (not > all response) from the data it will call {{onContent(buffer)}} listeners. > When everything finished it will call {{onComplete}} listeners. One main > thing that will must notice here is all listeners should finish quick, if the > listener block, all further data of that request won’t be handled until the > listener finish. > h2. 3. Solution 1: Sending requests async but spin one thread per response > Jetty HttpClient already provides several listeners, one of them is > InputStreamResponseListener. This is how it is get used > {code:java} > InputStreamResponseListener listener = new InputStreamResponseListener(); > client.newRequest(...).send(listener); > // Wait for the response headers to arrive > Response response = listener.get(5, TimeUnit.SECONDS); > if (response.getStatus() == 200) { > // Obtain the input stream on the response content > try (InputStream input = listener.getInputStream()) { > // Read the response content > } > } {code} > In this case, there will be 2 thread > * one thread trying to read the response content from InputStream > * one thread (this is a short-live task) feeding content to above > InputStream whenever some byte[] is available. Note that if this thread > unable to feed data into InputStream, this thread will wait. > By using this one, the model of HttpShardHandler can be written into > something like this > {code:java} > handler.sendReq(req, (is) -> { > executor.submit(() -> > try (is) { > // Read the content from InputStream > } > ) > }) {code} > The first diagram will be changed into this > !image-2020-03-23-10-09-10-221.png! > Notice that although “sending req to shard1” is wide, it won’t take long time > since sending req is a very quick operation. With this operation, handling > threads won’t be spin up until first bytes are sent back. Notice that in this > approach we still have active threads waiting for more data from InputStream > h2. 4. Solution 2: Buffering data and handle it inside jetty’s thread. > Jetty have another listener called BufferingResponseListener. T
[jira] [Commented] (SOLR-14354) HttpShardHandler send requests in async
[ https://issues.apache.org/jira/browse/SOLR-14354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216744#comment-17216744 ] Ishan Chattopadhyaya commented on SOLR-14354: - I think a major non optional change like this *must* accompany performance benchmarks to make sure there are no regressions. I'm so busy these days in personal life that I've grown mostly indifferent to whatever this community is up to; so I'll abstain from voting. Dat, Please feel free to use your best judgement. > HttpShardHandler send requests in async > --- > > Key: SOLR-14354 > URL: https://issues.apache.org/jira/browse/SOLR-14354 > Project: Solr > Issue Type: Improvement >Reporter: Cao Manh Dat >Assignee: Cao Manh Dat >Priority: Blocker > Fix For: master (9.0), 8.7 > > Attachments: image-2020-03-23-10-04-08-399.png, > image-2020-03-23-10-09-10-221.png, image-2020-03-23-10-12-00-661.png > > Time Spent: 4h > Remaining Estimate: 0h > > h2. 1. Current approach (problem) of Solr > Below is the diagram describe the model on how currently handling a request. > !image-2020-03-23-10-04-08-399.png! > The main-thread that handles the search requests, will submit n requests (n > equals to number of shards) to an executor. So each request will correspond > to a thread, after sending a request that thread basically do nothing just > waiting for response from other side. That thread will be swapped out and CPU > will try to handle another thread (this is called context switch, CPU will > save the context of the current thread and switch to another one). When some > data (not all) come back, that thread will be called to parsing these data, > then it will wait until more data come back. So there will be lots of context > switching in CPU. That is quite inefficient on using threads.Basically we > want less threads and most of them must busy all the time, because threads > are not free as well as context switching. That is the main idea behind > everything, like executor > h2. 2. Async call of Jetty HttpClient > Jetty HttpClient offers async API like this. > {code:java} > httpClient.newRequest("http://domain.com/path";) > // Add request hooks > .onRequestQueued(request -> { ... }) > .onRequestBegin(request -> { ... }) > // Add response hooks > .onResponseBegin(response -> { ... }) > .onResponseHeaders(response -> { ... }) > .onResponseContent((response, buffer) -> { ... }) > .send(result -> { ... }); {code} > Therefore after calling {{send()}} the thread will return immediately without > any block. Then when the client received the header from other side, it will > call {{onHeaders()}} listeners. When the client received some {{byte[]}} (not > all response) from the data it will call {{onContent(buffer)}} listeners. > When everything finished it will call {{onComplete}} listeners. One main > thing that will must notice here is all listeners should finish quick, if the > listener block, all further data of that request won’t be handled until the > listener finish. > h2. 3. Solution 1: Sending requests async but spin one thread per response > Jetty HttpClient already provides several listeners, one of them is > InputStreamResponseListener. This is how it is get used > {code:java} > InputStreamResponseListener listener = new InputStreamResponseListener(); > client.newRequest(...).send(listener); > // Wait for the response headers to arrive > Response response = listener.get(5, TimeUnit.SECONDS); > if (response.getStatus() == 200) { > // Obtain the input stream on the response content > try (InputStream input = listener.getInputStream()) { > // Read the response content > } > } {code} > In this case, there will be 2 thread > * one thread trying to read the response content from InputStream > * one thread (this is a short-live task) feeding content to above > InputStream whenever some byte[] is available. Note that if this thread > unable to feed data into InputStream, this thread will wait. > By using this one, the model of HttpShardHandler can be written into > something like this > {code:java} > handler.sendReq(req, (is) -> { > executor.submit(() -> > try (is) { > // Read the content from InputStream > } > ) > }) {code} > The first diagram will be changed into this > !image-2020-03-23-10-09-10-221.png! > Notice that although “sending req to shard1” is wide, it won’t take long time > since sending req is a very quick operation. With this operation, handling > threads won’t be spin up until first bytes are sent back. Notice that in this > approach we still have active threads waiting for more data from InputStream > h2. 4. Solution 2: Buffering data and handle it inside jetty’s thr
[jira] [Commented] (SOLR-14354) HttpShardHandler send requests in async
[ https://issues.apache.org/jira/browse/SOLR-14354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216748#comment-17216748 ] Ishan Chattopadhyaya commented on SOLR-14354: - Oh, and I withdraw my veto. > HttpShardHandler send requests in async > --- > > Key: SOLR-14354 > URL: https://issues.apache.org/jira/browse/SOLR-14354 > Project: Solr > Issue Type: Improvement >Reporter: Cao Manh Dat >Assignee: Cao Manh Dat >Priority: Blocker > Fix For: master (9.0), 8.7 > > Attachments: image-2020-03-23-10-04-08-399.png, > image-2020-03-23-10-09-10-221.png, image-2020-03-23-10-12-00-661.png > > Time Spent: 4h > Remaining Estimate: 0h > > h2. 1. Current approach (problem) of Solr > Below is the diagram describe the model on how currently handling a request. > !image-2020-03-23-10-04-08-399.png! > The main-thread that handles the search requests, will submit n requests (n > equals to number of shards) to an executor. So each request will correspond > to a thread, after sending a request that thread basically do nothing just > waiting for response from other side. That thread will be swapped out and CPU > will try to handle another thread (this is called context switch, CPU will > save the context of the current thread and switch to another one). When some > data (not all) come back, that thread will be called to parsing these data, > then it will wait until more data come back. So there will be lots of context > switching in CPU. That is quite inefficient on using threads.Basically we > want less threads and most of them must busy all the time, because threads > are not free as well as context switching. That is the main idea behind > everything, like executor > h2. 2. Async call of Jetty HttpClient > Jetty HttpClient offers async API like this. > {code:java} > httpClient.newRequest("http://domain.com/path";) > // Add request hooks > .onRequestQueued(request -> { ... }) > .onRequestBegin(request -> { ... }) > // Add response hooks > .onResponseBegin(response -> { ... }) > .onResponseHeaders(response -> { ... }) > .onResponseContent((response, buffer) -> { ... }) > .send(result -> { ... }); {code} > Therefore after calling {{send()}} the thread will return immediately without > any block. Then when the client received the header from other side, it will > call {{onHeaders()}} listeners. When the client received some {{byte[]}} (not > all response) from the data it will call {{onContent(buffer)}} listeners. > When everything finished it will call {{onComplete}} listeners. One main > thing that will must notice here is all listeners should finish quick, if the > listener block, all further data of that request won’t be handled until the > listener finish. > h2. 3. Solution 1: Sending requests async but spin one thread per response > Jetty HttpClient already provides several listeners, one of them is > InputStreamResponseListener. This is how it is get used > {code:java} > InputStreamResponseListener listener = new InputStreamResponseListener(); > client.newRequest(...).send(listener); > // Wait for the response headers to arrive > Response response = listener.get(5, TimeUnit.SECONDS); > if (response.getStatus() == 200) { > // Obtain the input stream on the response content > try (InputStream input = listener.getInputStream()) { > // Read the response content > } > } {code} > In this case, there will be 2 thread > * one thread trying to read the response content from InputStream > * one thread (this is a short-live task) feeding content to above > InputStream whenever some byte[] is available. Note that if this thread > unable to feed data into InputStream, this thread will wait. > By using this one, the model of HttpShardHandler can be written into > something like this > {code:java} > handler.sendReq(req, (is) -> { > executor.submit(() -> > try (is) { > // Read the content from InputStream > } > ) > }) {code} > The first diagram will be changed into this > !image-2020-03-23-10-09-10-221.png! > Notice that although “sending req to shard1” is wide, it won’t take long time > since sending req is a very quick operation. With this operation, handling > threads won’t be spin up until first bytes are sent back. Notice that in this > approach we still have active threads waiting for more data from InputStream > h2. 4. Solution 2: Buffering data and handle it inside jetty’s thread. > Jetty have another listener called BufferingResponseListener. This is how it > is get used > {code:java} > client.newRequest(...).send(new BufferingResponseListener() { > public void onComplete(Result result) { > try { > byte[] response = getContent(); > //handling
[GitHub] [lucene-solr] msokolov edited a comment on pull request #2000: LUCENE-9318: Clean up package name conflicts for backward-codecs
msokolov edited a comment on pull request #2000: URL: https://github.com/apache/lucene-solr/pull/2000#issuecomment-712188759 > I merged the latest master and resolved conflicts (had a bit trouble though...) Woops! sorry if the new codec and related changes got in the way ;) Looks as if you overcame 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] msokolov commented on pull request #2000: LUCENE-9318: Clean up package name conflicts for backward-codecs
msokolov commented on pull request #2000: URL: https://github.com/apache/lucene-solr/pull/2000#issuecomment-712188759 > I merged the latest master and resolved conflicts (had a bit trouble though...) Woops! sorry if the new codec and related changes got in the way ;) Looks as if you overcame 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] sigram commented on pull request #1974: SOLR-14914: Add option to disable metrics collection
sigram commented on pull request #1974: URL: https://github.com/apache/lucene-solr/pull/1974#issuecomment-712191017 This has been merged - @noblepaul , can you please close it? Thanks! This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-11611) Starting Solr using solr.cmd fails under Windows, when the path contains a parenthesis character
[ https://issues.apache.org/jira/browse/SOLR-11611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216761#comment-17216761 ] Jan Høydahl commented on SOLR-11611: Not a blocker. Needs more tests, let's not hold up 8.7 for this > Starting Solr using solr.cmd fails under Windows, when the path contains a > parenthesis character > > > Key: SOLR-11611 > URL: https://issues.apache.org/jira/browse/SOLR-11611 > Project: Solr > Issue Type: Bug > Components: scripts and tools, SolrCLI >Affects Versions: 7.1, 7.4 > Environment: Microsoft Windows [Version 10.0.15063] > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Jakob Furrer >Priority: Minor > Fix For: 8.7 > > Attachments: SOLR-11611.patch, SOLR-11611.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > Starting Solr using solr.cli fails in Windows, when the path contains spaces. > Use the following example to reproduce the error: > {quote}C:\>c: > C:\>cd "C:\Program Files (x86)\Company Name\ProductName Solr\bin" > C:\Program Files (x86)\Company Name\ProductName Solr\bin>dir > Volume in Laufwerk C: hat keine Bezeichnung. > Volumeseriennummer: 8207-3B8B > Verzeichnis von C:\Program Files (x86)\Company Name\ProductName Solr\bin > 06.11.2017 15:52 . > 06.11.2017 15:52 .. > 06.11.2017 15:39 init.d > 03.11.2017 17:32 8 209 post > 03.11.2017 17:3275 963 solr > 06.11.2017 14:2469 407 solr.cmd >3 Datei(en),153 579 Bytes >3 Verzeichnis(se), 51 191 619 584 Bytes frei > C:\Program Files (x86)\Company Name\ProductName Solr\bin>solr.cmd start > *"\Company" kann syntaktisch an dieser Stelle nicht verarbeitet werden.* > C:\Program Files (x86)\Company Name\ProductName Solr\bin>{quote} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-11611) Starting Solr using solr.cmd fails under Windows, when the path contains a parenthesis character
[ https://issues.apache.org/jira/browse/SOLR-11611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jan Høydahl updated SOLR-11611: --- Priority: Minor (was: Blocker) > Starting Solr using solr.cmd fails under Windows, when the path contains a > parenthesis character > > > Key: SOLR-11611 > URL: https://issues.apache.org/jira/browse/SOLR-11611 > Project: Solr > Issue Type: Bug > Components: scripts and tools, SolrCLI >Affects Versions: 7.1, 7.4 > Environment: Microsoft Windows [Version 10.0.15063] > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Jakob Furrer >Priority: Minor > Fix For: 8.7 > > Attachments: SOLR-11611.patch, SOLR-11611.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > Starting Solr using solr.cli fails in Windows, when the path contains spaces. > Use the following example to reproduce the error: > {quote}C:\>c: > C:\>cd "C:\Program Files (x86)\Company Name\ProductName Solr\bin" > C:\Program Files (x86)\Company Name\ProductName Solr\bin>dir > Volume in Laufwerk C: hat keine Bezeichnung. > Volumeseriennummer: 8207-3B8B > Verzeichnis von C:\Program Files (x86)\Company Name\ProductName Solr\bin > 06.11.2017 15:52 . > 06.11.2017 15:52 .. > 06.11.2017 15:39 init.d > 03.11.2017 17:32 8 209 post > 03.11.2017 17:3275 963 solr > 06.11.2017 14:2469 407 solr.cmd >3 Datei(en),153 579 Bytes >3 Verzeichnis(se), 51 191 619 584 Bytes frei > C:\Program Files (x86)\Company Name\ProductName Solr\bin>solr.cmd start > *"\Company" kann syntaktisch an dieser Stelle nicht verarbeitet werden.* > C:\Program Files (x86)\Company Name\ProductName Solr\bin>{quote} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] sigram commented on a change in pull request #1964: SOLR-14749: Cluster singleton part of PR-1785
sigram commented on a change in pull request #1964: URL: https://github.com/apache/lucene-solr/pull/1964#discussion_r507787040 ## File path: solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java ## @@ -51,7 +51,7 @@ public class ContainerPluginsApi { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - public static final String PLUGIN = "plugin"; + public static final String PLUGINS = "plugin"; Review comment: Removed. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] sigram commented on a change in pull request #1964: SOLR-14749: Cluster singleton part of PR-1785
sigram commented on a change in pull request #1964: URL: https://github.com/apache/lucene-solr/pull/1964#discussion_r507786868 ## File path: solr/core/src/java/org/apache/solr/core/CoreContainer.java ## @@ -168,6 +172,33 @@ public CoreLoadFailure(CoreDescriptor cd, Exception loadFailure) { } } + public static class ClusterSingletons { Review comment: Moved most of that into a utility class. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] sigram closed pull request #1758: SOLR-14749: Provide a clean API for cluster-level event processing, Initial draft.
sigram closed pull request #1758: URL: https://github.com/apache/lucene-solr/pull/1758 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] sigram commented on pull request #1758: SOLR-14749: Provide a clean API for cluster-level event processing, Initial draft.
sigram commented on pull request #1758: URL: https://github.com/apache/lucene-solr/pull/1758#issuecomment-712195659 I'm closing this PR - other PRs contain all the code here, only split into parts (events API, ClusterSingleton and scheduler) This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] sigram closed pull request #1678: SOLR-14613: Initial POC based on Ilan's proposal.
sigram closed pull request #1678: URL: https://github.com/apache/lucene-solr/pull/1678 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] sigram commented on pull request #1678: SOLR-14613: Initial POC based on Ilan's proposal.
sigram commented on pull request #1678: URL: https://github.com/apache/lucene-solr/pull/1678#issuecomment-712196256 Another variant of this has already been merged. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14282) /get handler doesn't return copied fields
[ https://issues.apache.org/jira/browse/SOLR-14282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216771#comment-17216771 ] David Eric Pugh commented on SOLR-14282: Thanks [~ehatcher]for commenting. One issue is we should be clear what realtime /get does in the Ref Guide. Like, today, highlight that it doesn't return copied fields or "dynamically added via URP". > /get handler doesn't return copied fields > - > > Key: SOLR-14282 > URL: https://issues.apache.org/jira/browse/SOLR-14282 > Project: Solr > Issue Type: Bug > Components: search, SolrJ >Affects Versions: 8.4 > Environment: SOLR 8.4.0, SOLRJ, Oracle Java 8 >Reporter: Andrei Minin >Priority: Major > Attachments: SOLR-14282-test-update.patch, copied_fields_test.zip, > managed-schema.xml > > > We are using /get handler to retrieve documents by id in our Java application > (SolrJ) > I found that copied fields are missing in documents returned by /get handler > but same documents returned by query contain copied (by schema) fields. > Attached documents: > # Integration test project archive > # Managed schema file for SOLR > SOLR schema details: > # Unique field name "d_ida_s" > # Lowecase text type definition: > {code:java} > positionIncrementGap="100"> > > > > > {code} > 3. Copy field instruction sample: > {code:java} > stored="true" multiValued="false"/> > /> > {code} > ConcurrenceUserNamea_s is string type field and ConcurrenceUserNameu_lca_s is > lower case text type field. > Integration test uploads document to SOLR server and makes 2 requests: one > using /get rest point to fetch document by id and one using query field name>:. > Document returned by /get rest, doesn't have copied fields while document > returned by query, contains copied fields. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14851) Http2SolrClient doesn't handle keystore type correctly
[ https://issues.apache.org/jira/browse/SOLR-14851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andras Salamon updated SOLR-14851: -- Attachment: SOLR-14851-02.patch > Http2SolrClient doesn't handle keystore type correctly > -- > > Key: SOLR-14851 > URL: https://issues.apache.org/jira/browse/SOLR-14851 > Project: Solr > Issue Type: Bug > Components: Server >Reporter: Andras Salamon >Assignee: Kevin Risden >Priority: Major > Attachments: SOLR-14851-01.patch, SOLR-14851-02.patch > > > I wanted to use Solr SSL using bcfks keystore type. Even after specifying the > following JVM properties, Solr was not able to start: > {{-Djavax.net.ssl.keyStoreType=bcfks -Djavax.net.ssl.trustStoreType=bcfks > -Dsolr.jetty.truststore.type=bcfks -Dsolr.jetty.keystore.type=bcfks}} > The error message in the log: > {noformat}2020-09-07 14:42:29.429 ERROR (main) [ ] o.a.s.c.SolrCore > null:org.apache.solr.common.SolrException: Error instantiating > shardHandlerFactory class [HttpShardHandlerFactory]: java.io.IOException: > Invalid keystore format > at > org.apache.solr.handler.component.ShardHandlerFactory.newInstance(ShardHandlerFactory.java:56) > at org.apache.solr.core.CoreContainer.load(CoreContainer.java:660) > at > org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:262) > at > org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:182) > at > org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:134) > at > org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751) > at > java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647) > at > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744) > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:360) > at > org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445) > at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409) > at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822) > at > org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275) > at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) > at > org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46) > at > org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188) > at > org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:513) > at > org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:154) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:173) > at > org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:447) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:66) > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:784) > at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:753) > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:641) > at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:540) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:146) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) > at > org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:599) > at > org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:249) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) > at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) > at org.eclipse.jetty.server.Server.start(Server.java:407) > at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) > at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) >
[jira] [Created] (SOLR-14946) responseHeader is returned when using EmbeddedSolrServer even when omitHeader=true
Munendra S N created SOLR-14946: --- Summary: responseHeader is returned when using EmbeddedSolrServer even when omitHeader=true Key: SOLR-14946 URL: https://issues.apache.org/jira/browse/SOLR-14946 Project: Solr Issue Type: Bug Security Level: Public (Default Security Level. Issues are Public) Reporter: Munendra S N When omitHeader=true, responseHeader shouldn't be returned which is not the case when using EmbededSolrServer -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] HoustonPutman commented on a change in pull request #1996: SOLR-14907: Adding V2 API for ConfigSet Upload.
HoustonPutman commented on a change in pull request #1996: URL: https://github.com/apache/lucene-solr/pull/1996#discussion_r507814091 ## File path: solr/core/src/java/org/apache/solr/handler/ClusterAPI.java ## @@ -133,6 +134,62 @@ public void create(PayloadObj obj) throws Exception { } + @EndPoint(method = POST, + path = "/cluster/configs/{name}", + permission = CONFIG_EDIT_PERM + ) + public void uploadConfigSet(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { +req = wrapParams(req, +"action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(), +CommonParams.NAME, req.getPathTemplateValues().get("name")); +configSetsHandler.handleRequestBody(req, rsp); + } + + @EndPoint(method = PUT, + path = "/cluster/configs/{name}", + permission = CONFIG_EDIT_PERM + ) + public void uploadConfigSetWithOverwrite(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { +req = wrapParams(req, +"action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(), +CommonParams.NAME, req.getPathTemplateValues().get("name"), +ConfigSetParams.OVERWRITE, true, +ConfigSetParams.CLEANUP, req.getParams().getBool(ConfigSetParams.CLEANUP, false)); +configSetsHandler.handleRequestBody(req, rsp); + } + + @EndPoint(method = POST, Review comment: Would you be ok with `/cluster/configs/{configname}/file/*`? That's very restful, since it would be updating the `*` `file` under the `{configname}` `config` This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14907) Support single file upload/overwrite in configSet API
[ https://issues.apache.org/jira/browse/SOLR-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Houston Putman updated SOLR-14907: -- Description: After SOLR-10391 was implemented, users are now able to overwrite existing configSets using the configSet API. However the files uploaded are still required to be zipped and indexed from the base configSet path in ZK. Users might want to just update a single file, such as a synonyms list, and not have to tar it up first. The proposed solution is to add parameters to the UPLOAD configSet action, to allow this single-file use case. This would utilize the protections already provided by the API, such as maintaining the trustiness of configSets being modified. This feature is part of the solution to replace managed resources, which is planned to be deprecated and removed by 9.0 (SOLR-14766). The following APIs are being proposed: V1: Adding to the configSet upload one urlParam, filePath: "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; V2: * Creating a configSet: ** POST - /cluster/configs/\{name} * Updating a configSet: ** PUT - /cluster/configs/\{name} * Creating a file in a configSet: ** POST - /cluster/configs/\{name}/file/\{filename} * Updating a file in a configSet: ** PUT - /cluster/configs/\{name}/file/\{filename} was: After SOLR-10391 was implemented, users are now able to overwrite existing configSets using the configSet API. However the files uploaded are still required to be zipped and indexed from the base configSet path in ZK. Users might want to just update a single file, such as a synonyms list, and not have to tar it up first. The proposed solution is to add parameters to the UPLOAD configSet action, to allow this single-file use case. This would utilize the protections already provided by the API, such as maintaining the trustiness of configSets being modified. This feature is part of the solution to replace managed resources, which is planned to be deprecated and removed by 9.0 (SOLR-14766). > Support single file upload/overwrite in configSet API > - > > Key: SOLR-14907 > URL: https://issues.apache.org/jira/browse/SOLR-14907 > Project: Solr > Issue Type: Improvement > Components: configset-api >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Fix For: 8.7 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > After SOLR-10391 was implemented, users are now able to overwrite existing > configSets using the configSet API. However the files uploaded are still > required to be zipped and indexed from the base configSet path in ZK. Users > might want to just update a single file, such as a synonyms list, and not > have to tar it up first. > The proposed solution is to add parameters to the UPLOAD configSet action, to > allow this single-file use case. This would utilize the protections already > provided by the API, such as maintaining the trustiness of configSets being > modified. > This feature is part of the solution to replace managed resources, which is > planned to be deprecated and removed by 9.0 (SOLR-14766). > The following APIs are being proposed: > V1: > Adding to the configSet upload one urlParam, filePath: > "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; > V2: > * Creating a configSet: > ** POST - /cluster/configs/\{name} > * Updating a configSet: > ** PUT - /cluster/configs/\{name} > * Creating a file in a configSet: > ** POST - /cluster/configs/\{name}/file/\{filename} > * Updating a file in a configSet: > ** PUT - /cluster/configs/\{name}/file/\{filename} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14907) Support single file upload/overwrite in configSet API
[ https://issues.apache.org/jira/browse/SOLR-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216784#comment-17216784 ] Houston Putman commented on SOLR-14907: --- Added the proposed APIs in the Jira description. Good call on the [~noble.paul], I should have included it from the start. > Support single file upload/overwrite in configSet API > - > > Key: SOLR-14907 > URL: https://issues.apache.org/jira/browse/SOLR-14907 > Project: Solr > Issue Type: Improvement > Components: configset-api >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Fix For: 8.7 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > After SOLR-10391 was implemented, users are now able to overwrite existing > configSets using the configSet API. However the files uploaded are still > required to be zipped and indexed from the base configSet path in ZK. Users > might want to just update a single file, such as a synonyms list, and not > have to tar it up first. > The proposed solution is to add parameters to the UPLOAD configSet action, to > allow this single-file use case. This would utilize the protections already > provided by the API, such as maintaining the trustiness of configSets being > modified. > This feature is part of the solution to replace managed resources, which is > planned to be deprecated and removed by 9.0 (SOLR-14766). > The following APIs are being proposed: > V1: > Adding to the configSet upload one urlParam, filePath: > "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; > V2: > * Creating a configSet: > ** POST - /cluster/configs/\{name} > * Updating a configSet: > ** PUT - /cluster/configs/\{name} > * Creating a file in a configSet: > ** POST - /cluster/configs/\{name}/file/\{filename} > * Updating a file in a configSet: > ** PUT - /cluster/configs/\{name}/file/\{filename} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] madrob commented on a change in pull request #2004: SOLR-14942: Reduce leader election time on node shutdown
madrob commented on a change in pull request #2004: URL: https://github.com/apache/lucene-solr/pull/2004#discussion_r507808511 ## File path: solr/core/src/java/org/apache/solr/update/SolrCoreState.java ## @@ -86,7 +103,45 @@ public boolean decrefSolrCoreState(IndexWriterCloser closer) { } return close; } - + + /** + * Pauses all update requests to this core and waits (indefinitely) for all in-flight + * update requests to finish + */ + public void pauseUpdatesAndAwaitInflightRequests() { +if (pauseUpdateRequests.compareAndSet(false, true)) { + inflightUpdatesCounter.register(); + inflightUpdatesCounter.arriveAndAwaitAdvance(); +} + } + + /** + * Unpauses update requests to this core + */ + public void unpauseUpdates() { Review comment: This is never used? ## File path: solr/core/src/java/org/apache/solr/cloud/ZkController.java ## @@ -1838,6 +1838,22 @@ private void checkStateInZk(CoreDescriptor cd) throws InterruptedException, NotI } } + public void tryCancelAllElections() { +if (zkClient.isClosed()) { + return; +} +electionContexts.values().parallelStream().forEach(context -> { Review comment: How many contexts do we expect here. Does it actually make sense to do a parallel stream? ## File path: solr/core/src/java/org/apache/solr/update/SolrCoreState.java ## @@ -86,7 +103,45 @@ public boolean decrefSolrCoreState(IndexWriterCloser closer) { } return close; } - + + /** + * Pauses all update requests to this core and waits (indefinitely) for all in-flight + * update requests to finish + */ + public void pauseUpdatesAndAwaitInflightRequests() { +if (pauseUpdateRequests.compareAndSet(false, true)) { + inflightUpdatesCounter.register(); + inflightUpdatesCounter.arriveAndAwaitAdvance(); Review comment: This is in the shutdown path, should we add a timeout? What happens if a disk is slow on write and something else times out underneath us? ## File path: solr/core/src/java/org/apache/solr/update/SolrCoreState.java ## @@ -86,7 +103,45 @@ public boolean decrefSolrCoreState(IndexWriterCloser closer) { } return close; } - + + /** + * Pauses all update requests to this core and waits (indefinitely) for all in-flight + * update requests to finish + */ + public void pauseUpdatesAndAwaitInflightRequests() { +if (pauseUpdateRequests.compareAndSet(false, true)) { + inflightUpdatesCounter.register(); + inflightUpdatesCounter.arriveAndAwaitAdvance(); +} + } + + /** + * Unpauses update requests to this core + */ + public void unpauseUpdates() { +this.pauseUpdateRequests.set(false); + } + + /** + * Registers in-flight update requests to this core. + * + * @return true if request was registered, false if update requests are paused + */ + public boolean registerInFlightUpdate() { +if (pauseUpdateRequests.get()) { + return false; +} +inflightUpdatesCounter.register(); Review comment: Do we need to check for termination? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14907) Support single file upload/overwrite in configSet API
[ https://issues.apache.org/jira/browse/SOLR-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Houston Putman updated SOLR-14907: -- Description: After SOLR-10391 was implemented, users are now able to overwrite existing configSets using the configSet API. However the files uploaded are still required to be zipped and indexed from the base configSet path in ZK. Users might want to just update a single file, such as a synonyms list, and not have to tar it up first. The proposed solution is to add parameters to the UPLOAD configSet action, to allow this single-file use case. This would utilize the protections already provided by the API, such as maintaining the trustiness of configSets being modified. This feature is part of the solution to replace managed resources, which is planned to be deprecated and removed by 9.0 (SOLR-14766). The following APIs are being proposed: V1: Adding to the configSet upload one urlParam, filePath: "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; V2: * Creating a configSet: ** POST - /cluster/configs/\{name} * Updating a configSet: ** PUT - /cluster/configs/\{name} * Creating a file in a configSet: ** POST - /cluster/configs/\{name}/files/\{filename} * Updating a file in a configSet: ** PUT - /cluster/configs/\{name}/files/\{filename} was: After SOLR-10391 was implemented, users are now able to overwrite existing configSets using the configSet API. However the files uploaded are still required to be zipped and indexed from the base configSet path in ZK. Users might want to just update a single file, such as a synonyms list, and not have to tar it up first. The proposed solution is to add parameters to the UPLOAD configSet action, to allow this single-file use case. This would utilize the protections already provided by the API, such as maintaining the trustiness of configSets being modified. This feature is part of the solution to replace managed resources, which is planned to be deprecated and removed by 9.0 (SOLR-14766). The following APIs are being proposed: V1: Adding to the configSet upload one urlParam, filePath: "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; V2: * Creating a configSet: ** POST - /cluster/configs/\{name} * Updating a configSet: ** PUT - /cluster/configs/\{name} * Creating a file in a configSet: ** POST - /cluster/configs/\{name}/file/\{filename} * Updating a file in a configSet: ** PUT - /cluster/configs/\{name}/file/\{filename} > Support single file upload/overwrite in configSet API > - > > Key: SOLR-14907 > URL: https://issues.apache.org/jira/browse/SOLR-14907 > Project: Solr > Issue Type: Improvement > Components: configset-api >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Fix For: 8.7 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > After SOLR-10391 was implemented, users are now able to overwrite existing > configSets using the configSet API. However the files uploaded are still > required to be zipped and indexed from the base configSet path in ZK. Users > might want to just update a single file, such as a synonyms list, and not > have to tar it up first. > The proposed solution is to add parameters to the UPLOAD configSet action, to > allow this single-file use case. This would utilize the protections already > provided by the API, such as maintaining the trustiness of configSets being > modified. > This feature is part of the solution to replace managed resources, which is > planned to be deprecated and removed by 9.0 (SOLR-14766). > The following APIs are being proposed: > V1: > Adding to the configSet upload one urlParam, filePath: > "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; > V2: > * Creating a configSet: > ** POST - /cluster/configs/\{name} > * Updating a configSet: > ** PUT - /cluster/configs/\{name} > * Creating a file in a configSet: > ** POST - /cluster/configs/\{name}/files/\{filename} > * Updating a file in a configSet: > ** PUT - /cluster/configs/\{name}/files/\{filename} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] HoustonPutman commented on a change in pull request #1996: SOLR-14907: Adding V2 API for ConfigSet Upload.
HoustonPutman commented on a change in pull request #1996: URL: https://github.com/apache/lucene-solr/pull/1996#discussion_r507814091 ## File path: solr/core/src/java/org/apache/solr/handler/ClusterAPI.java ## @@ -133,6 +134,62 @@ public void create(PayloadObj obj) throws Exception { } + @EndPoint(method = POST, + path = "/cluster/configs/{name}", + permission = CONFIG_EDIT_PERM + ) + public void uploadConfigSet(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { +req = wrapParams(req, +"action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(), +CommonParams.NAME, req.getPathTemplateValues().get("name")); +configSetsHandler.handleRequestBody(req, rsp); + } + + @EndPoint(method = PUT, + path = "/cluster/configs/{name}", + permission = CONFIG_EDIT_PERM + ) + public void uploadConfigSetWithOverwrite(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { +req = wrapParams(req, +"action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(), +CommonParams.NAME, req.getPathTemplateValues().get("name"), +ConfigSetParams.OVERWRITE, true, +ConfigSetParams.CLEANUP, req.getParams().getBool(ConfigSetParams.CLEANUP, false)); +configSetsHandler.handleRequestBody(req, rsp); + } + + @EndPoint(method = POST, Review comment: Would you be ok with `/cluster/configs/{configname}/files/*`? That's very restful, since it would be updating the `*` `file` under the `{configname}` `config` This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] madrob commented on a change in pull request #1997: SOLR-14940: Add ability to remove SolrCore.closeHooks. Keep reference…
madrob commented on a change in pull request #1997: URL: https://github.com/apache/lucene-solr/pull/1997#discussion_r507825509 ## File path: solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java ## @@ -415,19 +415,15 @@ private void fetchIndex(SolrParams solrParams, SolrQueryResponse rsp) throws Int } static Long getCheckSum(Checksum checksum, File f) { -FileInputStream fis = null; checksum.reset(); byte[] buffer = new byte[1024 * 1024]; int bytesRead; -try { - fis = new FileInputStream(f); +try (final FileInputStream fis = new FileInputStream(f)) { while ((bytesRead = fis.read(buffer)) >= 0) checksum.update(buffer, 0, bytesRead); return checksum.getValue(); } catch (Exception e) { Review comment: @TomMD I think this is a bug in Muse? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Assigned] (SOLR-14275) Policy calculations are very slow for large clusters and large operations
[ https://issues.apache.org/jira/browse/SOLR-14275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrzej Bialecki reassigned SOLR-14275: --- Assignee: (was: Andrzej Bialecki) > Policy calculations are very slow for large clusters and large operations > - > > Key: SOLR-14275 > URL: https://issues.apache.org/jira/browse/SOLR-14275 > Project: Solr > Issue Type: Bug > Components: AutoScaling >Affects Versions: 7.7.2, 8.4.1 >Reporter: Andrzej Bialecki >Priority: Major > Labels: scaling > Attachments: SOLR-14275.patch, scenario.txt > > Time Spent: 0.5h > Remaining Estimate: 0h > > Replica placement calculations performed during collection creation take > extremely long time (several minutes) when using a large cluster and creating > a large collection (eg. 1000 nodes, 500 shards, 4 replicas). > Profiling shows that most of the time is spent in > {{Row.computeCacheIfAbsent}}, which probably doesn't reuse this cache as much > as it should. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14275) Policy calculations are very slow for large clusters and large operations
[ https://issues.apache.org/jira/browse/SOLR-14275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216804#comment-17216804 ] Andrzej Bialecki commented on SOLR-14275: - I'm not planning to work on this anymore - any efforts to fix it would probably be better spent on implementing a simpler alternative placement strategy. > Policy calculations are very slow for large clusters and large operations > - > > Key: SOLR-14275 > URL: https://issues.apache.org/jira/browse/SOLR-14275 > Project: Solr > Issue Type: Bug > Components: AutoScaling >Affects Versions: 7.7.2, 8.4.1 >Reporter: Andrzej Bialecki >Priority: Major > Labels: scaling > Attachments: SOLR-14275.patch, scenario.txt > > Time Spent: 0.5h > Remaining Estimate: 0h > > Replica placement calculations performed during collection creation take > extremely long time (several minutes) when using a large cluster and creating > a large collection (eg. 1000 nodes, 500 shards, 4 replicas). > Profiling shows that most of the time is spent in > {{Row.computeCacheIfAbsent}}, which probably doesn't reuse this cache as much > as it should. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] TomMD commented on a change in pull request #1997: SOLR-14940: Add ability to remove SolrCore.closeHooks. Keep reference…
TomMD commented on a change in pull request #1997: URL: https://github.com/apache/lucene-solr/pull/1997#discussion_r507839162 ## File path: solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java ## @@ -415,19 +415,15 @@ private void fetchIndex(SolrParams solrParams, SolrQueryResponse rsp) throws Int } static Long getCheckSum(Checksum checksum, File f) { -FileInputStream fis = null; checksum.reset(); byte[] buffer = new byte[1024 * 1024]; int bytesRead; -try { - fis = new FileInputStream(f); +try (final FileInputStream fis = new FileInputStream(f)) { while ((bytesRead = fis.read(buffer)) >= 0) checksum.update(buffer, 0, bytesRead); return checksum.getValue(); } catch (Exception e) { Review comment: @madrob Could you say more about why you think it's a bug? Do you think it is a false positive? I don't have nearly the same view into the code as you do, so perhaps you are right but my unfamiliar reading leads me to another conclusion. This Muse result originates from Infer - I can get the full trace if you'd like but by eye I'd expect it to say: 1. `fis` is allocated a new FileInputStream on line 421. 2. The fall to `fis.read()` could throw an IO exception. 3. There are no further references to `fis` in the code path. Notably, the prior code of `finally { IOUtils.closeQuietly(fis); }` has been removed. S not only Infer, but also some prior author, believe `fis` needs closed and now a path exists where `fis` is not closed. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14940) ReplicationHandler memory leak through SolrCore.closeHooks
[ https://issues.apache.org/jira/browse/SOLR-14940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216830#comment-17216830 ] Mike Drob commented on SOLR-14940: -- This is a great find, it looks like your solution implements approach number 1? Do you think you would be able to add a test? I'm working on reproducing this locally right now. > ReplicationHandler memory leak through SolrCore.closeHooks > -- > > Key: SOLR-14940 > URL: https://issues.apache.org/jira/browse/SOLR-14940 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: replication (java) > Environment: Solr Cloud Cluster on v.8.6.2 configured as 3 TLOG nodes > with 2 cores in each JVM. > >Reporter: Anver Sotnikov >Priority: Major > Time Spent: 1h > Remaining Estimate: 0h > > We are experiencing a memory leak in Solr Cloud cluster configured as 3 TLOG > nodes. > Leader does not seem to be affected while Followers are. > > Looking at memory dump we noticed that SolrCore holds lots of references to > ReplicationHandler through anonymous inner classes in SolrCore.closeHooks, > which in turn holds ReplicationHandlers. > ReplicationHandler registers hooks as anonymous inner classes in > SolrCore.closeHooks through ReplicationHandler.inform() -> > ReplicationHandler.registerCloseHook(). > > Whenever ZkController.stopReplicationFromLeader is called - it would shutdown > ReplicationHandler (ReplicationHandler.shutdown()), BUT reference to > ReplicationHandler will stay in SolrCore.closeHooks. Once replication is > started again on same SolrCore - new ReplicationHandler will be created and > registered in closeHooks. > > It looks like there are few scenarios when replication is stopped and > restarted on same core and in our TLOG setup it shows up quite often. > > Potential solutions: > # Allow unregistering SolrCore.closeHooks so it can be used from > ReplicationHandler.shutdown > # Hack but easier - break the link between ReplicationHandler close hooks > and full ReplicationHandler object so ReplicationHandler can be GCed even > when hooks are still registered in SolrCore.closeHooks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Created] (SOLR-14947) Gradle docker build task should output image id or tag
Mike Drob created SOLR-14947: Summary: Gradle docker build task should output image id or tag Key: SOLR-14947 URL: https://issues.apache.org/jira/browse/SOLR-14947 Project: Solr Issue Type: Improvement Security Level: Public (Default Security Level. Issues are Public) Components: Build Affects Versions: master (9.0) Reporter: Mike Drob Assignee: Houston Putman When calling {{./gradlew docker}} it build the image, but I have no idea what it's called so that I can run it. When I run with {{--info}} I get the requested output, but also a lot of other stuff. {code} Successfully built 02d86c5c7357 Successfully tagged apache/solr:9.0.0-SNAPSHOT :solr:docker:docker (Thread[Execution worker for ':' Thread 11,5,main]) completed. Took 0.172 secs. {code} We could put some of that in a {{doLast}} block, similar to https://github.com/apache/lucene-solr/blob/master/gradle/releasing.gradle#L51 -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] HoustonPutman merged pull request #1891: SOLR-14877: Add github action for running SolrJ tests.
HoustonPutman merged pull request #1891: URL: https://github.com/apache/lucene-solr/pull/1891 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14877) Add github PR Action for running SolrJ tests
[ https://issues.apache.org/jira/browse/SOLR-14877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216870#comment-17216870 ] ASF subversion and git services commented on SOLR-14877: Commit 0746d30302e549958b32c8cedc2ade9be4e8 in lucene-solr's branch refs/heads/master from Houston Putman [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=0746d30 ] SOLR-14877: Add github action for running SolrJ tests. (#1891) > Add github PR Action for running SolrJ tests > > > Key: SOLR-14877 > URL: https://issues.apache.org/jira/browse/SOLR-14877 > Project: Solr > Issue Type: Test > Components: github, SolrJ, Tests >Affects Versions: master (9.0) >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Time Spent: 1h > Remaining Estimate: 0h > > The gradle tests would only be run if the code within SolrJ is changed by the > PR. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Resolved] (SOLR-14877) Add github PR Action for running SolrJ tests
[ https://issues.apache.org/jira/browse/SOLR-14877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Houston Putman resolved SOLR-14877. --- Resolution: Implemented > Add github PR Action for running SolrJ tests > > > Key: SOLR-14877 > URL: https://issues.apache.org/jira/browse/SOLR-14877 > Project: Solr > Issue Type: Test > Components: github, SolrJ, Tests >Affects Versions: master (9.0) >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Time Spent: 1h > Remaining Estimate: 0h > > The gradle tests would only be run if the code within SolrJ is changed by the > PR. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] HoustonPutman commented on a change in pull request #1996: SOLR-14907: Adding V2 API for ConfigSet Upload.
HoustonPutman commented on a change in pull request #1996: URL: https://github.com/apache/lucene-solr/pull/1996#discussion_r507907209 ## File path: solr/core/src/java/org/apache/solr/handler/ClusterAPI.java ## @@ -133,6 +134,62 @@ public void create(PayloadObj obj) throws Exception { } + @EndPoint(method = POST, + path = "/cluster/configs/{name}", + permission = CONFIG_EDIT_PERM + ) + public void uploadConfigSet(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { +req = wrapParams(req, +"action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(), +CommonParams.NAME, req.getPathTemplateValues().get("name")); +configSetsHandler.handleRequestBody(req, rsp); + } + + @EndPoint(method = PUT, + path = "/cluster/configs/{name}", + permission = CONFIG_EDIT_PERM + ) + public void uploadConfigSetWithOverwrite(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { +req = wrapParams(req, +"action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(), +CommonParams.NAME, req.getPathTemplateValues().get("name"), +ConfigSetParams.OVERWRITE, true, +ConfigSetParams.CLEANUP, req.getParams().getBool(ConfigSetParams.CLEANUP, false)); +configSetsHandler.handleRequestBody(req, rsp); + } + + @EndPoint(method = POST, Review comment: I've updated the PR to reflect this new API. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] dweiss commented on a change in pull request #1997: SOLR-14940: Add ability to remove SolrCore.closeHooks. Keep reference…
dweiss commented on a change in pull request #1997: URL: https://github.com/apache/lucene-solr/pull/1997#discussion_r507914155 ## File path: solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java ## @@ -415,19 +415,15 @@ private void fetchIndex(SolrParams solrParams, SolrQueryResponse rsp) throws Int } static Long getCheckSum(Checksum checksum, File f) { -FileInputStream fis = null; checksum.reset(); byte[] buffer = new byte[1024 * 1024]; int bytesRead; -try { - fis = new FileInputStream(f); +try (final FileInputStream fis = new FileInputStream(f)) { while ((bytesRead = fis.read(buffer)) >= 0) checksum.update(buffer, 0, bytesRead); return checksum.getValue(); } catch (Exception e) { Review comment: This handle is always released in the finally block. I don't think an automated tool can "see" this from this code alone but the IOUtils.closeQuietly(fis); in finally ensures fis is always closed. The replacement try-with-resources isn't exactly the same as previous version would omit exceptions during close while the replacement would rethrow an exception during close attempt. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Created] (SOLR-14948) Autoscaling maxComputeOperations override causes exceptions
Andrzej Bialecki created SOLR-14948: --- Summary: Autoscaling maxComputeOperations override causes exceptions Key: SOLR-14948 URL: https://issues.apache.org/jira/browse/SOLR-14948 Project: Solr Issue Type: Bug Security Level: Public (Default Security Level. Issues are Public) Components: AutoScaling Affects Versions: 8.6.3 Reporter: Andrzej Bialecki Assignee: Andrzej Bialecki The maximum number of operations to calculate in {{ComputePlanAction}} is estimated based on the average collection replication factor and the size of the cluster. In some cases this estimate may be insufficient, and there's an override property that can be defined in {{autoscaling.json}} named {{maxComputeOperations}}. However, the code in {{ComputePlanAction}} makes and explicit cast to {{Integer}} whereas the value coming from a parsed JSON is of type {{Long}}. This results in a {{ClassCastException}} being thrown. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14948) Autoscaling maxComputeOperations override causes exceptions
[ https://issues.apache.org/jira/browse/SOLR-14948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrzej Bialecki updated SOLR-14948: Fix Version/s: 8.8 > Autoscaling maxComputeOperations override causes exceptions > --- > > Key: SOLR-14948 > URL: https://issues.apache.org/jira/browse/SOLR-14948 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: AutoScaling >Affects Versions: 8.6.3 >Reporter: Andrzej Bialecki >Assignee: Andrzej Bialecki >Priority: Major > Fix For: 8.8 > > > The maximum number of operations to calculate in {{ComputePlanAction}} is > estimated based on the average collection replication factor and the size of > the cluster. > In some cases this estimate may be insufficient, and there's an override > property that can be defined in {{autoscaling.json}} named > {{maxComputeOperations}}. However, the code in {{ComputePlanAction}} makes > and explicit cast to {{Integer}} whereas the value coming from a parsed JSON > is of type {{Long}}. This results in a {{ClassCastException}} being thrown. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14948) Autoscaling maxComputeOperations override causes exceptions
[ https://issues.apache.org/jira/browse/SOLR-14948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrzej Bialecki updated SOLR-14948: Description: The maximum number of operations to calculate in {{ComputePlanAction}} is estimated based on the average collection replication factor and the size of the cluster. In some cases this estimate may be insufficient, and there's an override property that can be defined in {{autoscaling.json}} named {{maxComputeOperations}}. However, the code in {{ComputePlanAction}} makes an explicit cast to {{Integer}} whereas the value coming from a parsed JSON is of type {{Long}}. This results in a {{ClassCastException}} being thrown. was: The maximum number of operations to calculate in {{ComputePlanAction}} is estimated based on the average collection replication factor and the size of the cluster. In some cases this estimate may be insufficient, and there's an override property that can be defined in {{autoscaling.json}} named {{maxComputeOperations}}. However, the code in {{ComputePlanAction}} makes and explicit cast to {{Integer}} whereas the value coming from a parsed JSON is of type {{Long}}. This results in a {{ClassCastException}} being thrown. > Autoscaling maxComputeOperations override causes exceptions > --- > > Key: SOLR-14948 > URL: https://issues.apache.org/jira/browse/SOLR-14948 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: AutoScaling >Affects Versions: 8.6.3 >Reporter: Andrzej Bialecki >Assignee: Andrzej Bialecki >Priority: Major > Fix For: 8.8 > > > The maximum number of operations to calculate in {{ComputePlanAction}} is > estimated based on the average collection replication factor and the size of > the cluster. > In some cases this estimate may be insufficient, and there's an override > property that can be defined in {{autoscaling.json}} named > {{maxComputeOperations}}. However, the code in {{ComputePlanAction}} makes an > explicit cast to {{Integer}} whereas the value coming from a parsed JSON is > of type {{Long}}. This results in a {{ClassCastException}} being thrown. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (LUCENE-9524) NullPointerException in IndexSearcher.explain() when using ComplexPhraseQueryParser
[ https://issues.apache.org/jira/browse/LUCENE-9524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216943#comment-17216943 ] ASF subversion and git services commented on LUCENE-9524: - Commit 0bc494e38151479065115d1ab4cd66ba21838f2a in lucene-solr's branch refs/heads/master from Adrien Grand [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=0bc494e ] LUCENE-9524: Fix test failure. > NullPointerException in IndexSearcher.explain() when using > ComplexPhraseQueryParser > --- > > Key: LUCENE-9524 > URL: https://issues.apache.org/jira/browse/LUCENE-9524 > Project: Lucene - Core > Issue Type: Bug > Components: core/queryparser, core/search >Affects Versions: 8.6, 8.6.2 >Reporter: Michał Słomkowski >Priority: Major > Fix For: 8.7 > > Time Spent: 1.5h > Remaining Estimate: 0h > > I get NPE when I use {{IndexSearcher.explain()}}. Checked with Lucene 8.6.0 > and 8.6.2. > The query: {{(lorem AND NOT "dolor lorem") OR ipsum}} > The text: {{dolor lorem ipsum}} > Stack trace: > {code} > java.lang.NullPointerException at > java.util.Objects.requireNonNull(Objects.java:203) > at org.apache.lucene.search.LeafSimScorer.(LeafSimScorer.java:38) > at > org.apache.lucene.search.spans.SpanWeight.explain(SpanWeight.java:160) > at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87) > at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87) > at > org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:716) > at > org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:693) > {code} > Minimal example code: > {code:java} > val analyzer = new StandardAnalyzer(); > val query = new ComplexPhraseQueryParser("", analyzer).parse(queryString); > final MemoryIndex memoryIndex = new MemoryIndex(true); > memoryIndex.addField("", text, analyzer); > final IndexSearcher searcher = memoryIndex.createSearcher(); > final TopDocs topDocs = searcher.search(query, 1); > final ScoreDoc match = topDocs.scoreDocs[0]; > searcher.explain(query, match.doc); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (LUCENE-9524) NullPointerException in IndexSearcher.explain() when using ComplexPhraseQueryParser
[ https://issues.apache.org/jira/browse/LUCENE-9524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216942#comment-17216942 ] ASF subversion and git services commented on LUCENE-9524: - Commit 2019433e92f3c26e3abe1b2201f4590f9dfb21be in lucene-solr's branch refs/heads/branch_8_7 from Adrien Grand [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=2019433 ] LUCENE-9524: Fix test failure. > NullPointerException in IndexSearcher.explain() when using > ComplexPhraseQueryParser > --- > > Key: LUCENE-9524 > URL: https://issues.apache.org/jira/browse/LUCENE-9524 > Project: Lucene - Core > Issue Type: Bug > Components: core/queryparser, core/search >Affects Versions: 8.6, 8.6.2 >Reporter: Michał Słomkowski >Priority: Major > Fix For: 8.7 > > Time Spent: 1.5h > Remaining Estimate: 0h > > I get NPE when I use {{IndexSearcher.explain()}}. Checked with Lucene 8.6.0 > and 8.6.2. > The query: {{(lorem AND NOT "dolor lorem") OR ipsum}} > The text: {{dolor lorem ipsum}} > Stack trace: > {code} > java.lang.NullPointerException at > java.util.Objects.requireNonNull(Objects.java:203) > at org.apache.lucene.search.LeafSimScorer.(LeafSimScorer.java:38) > at > org.apache.lucene.search.spans.SpanWeight.explain(SpanWeight.java:160) > at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87) > at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87) > at > org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:716) > at > org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:693) > {code} > Minimal example code: > {code:java} > val analyzer = new StandardAnalyzer(); > val query = new ComplexPhraseQueryParser("", analyzer).parse(queryString); > final MemoryIndex memoryIndex = new MemoryIndex(true); > memoryIndex.addField("", text, analyzer); > final IndexSearcher searcher = memoryIndex.createSearcher(); > final TopDocs topDocs = searcher.search(query, 1); > final ScoreDoc match = topDocs.scoreDocs[0]; > searcher.explain(query, match.doc); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (LUCENE-9524) NullPointerException in IndexSearcher.explain() when using ComplexPhraseQueryParser
[ https://issues.apache.org/jira/browse/LUCENE-9524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216941#comment-17216941 ] ASF subversion and git services commented on LUCENE-9524: - Commit fd4154073ab64ac7a248dc6fa1d256fc9be71063 in lucene-solr's branch refs/heads/branch_8x from Adrien Grand [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=fd41540 ] LUCENE-9524: Fix test failure. > NullPointerException in IndexSearcher.explain() when using > ComplexPhraseQueryParser > --- > > Key: LUCENE-9524 > URL: https://issues.apache.org/jira/browse/LUCENE-9524 > Project: Lucene - Core > Issue Type: Bug > Components: core/queryparser, core/search >Affects Versions: 8.6, 8.6.2 >Reporter: Michał Słomkowski >Priority: Major > Fix For: 8.7 > > Time Spent: 1.5h > Remaining Estimate: 0h > > I get NPE when I use {{IndexSearcher.explain()}}. Checked with Lucene 8.6.0 > and 8.6.2. > The query: {{(lorem AND NOT "dolor lorem") OR ipsum}} > The text: {{dolor lorem ipsum}} > Stack trace: > {code} > java.lang.NullPointerException at > java.util.Objects.requireNonNull(Objects.java:203) > at org.apache.lucene.search.LeafSimScorer.(LeafSimScorer.java:38) > at > org.apache.lucene.search.spans.SpanWeight.explain(SpanWeight.java:160) > at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87) > at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87) > at > org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:716) > at > org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:693) > {code} > Minimal example code: > {code:java} > val analyzer = new StandardAnalyzer(); > val query = new ComplexPhraseQueryParser("", analyzer).parse(queryString); > final MemoryIndex memoryIndex = new MemoryIndex(true); > memoryIndex.addField("", text, analyzer); > final IndexSearcher searcher = memoryIndex.createSearcher(); > final TopDocs topDocs = searcher.search(query, 1); > final ScoreDoc match = topDocs.scoreDocs[0]; > searcher.explain(query, match.doc); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14942) Reduce leader election time on node shutdown
[ https://issues.apache.org/jira/browse/SOLR-14942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216948#comment-17216948 ] Chris M. Hostetter commented on SOLR-14942: --- spot check comments on skimming the diff... * every method should have javadocs, especially public ones * ZkController.exlectionContexts is a syncrhonized map – but the new code that streams over it's `values()` doesn't synchronize on it which smells like a bug? * if canceling & closing elections is a "slow" enough operation that it makes sense to parallelize them, then does it make sense to also check zkClient.isClosed() inside the loop, in case the client gets closed out from under us? (it's a cheap call, so i don't see any advantage to only checking once) * 'handler instanceof UpdateRequestHandler' feels somewhat brittle? ** are there other "inflight" cases where it's risky to shutdown in the middle of? replication? peersync? core admin? ** instead of hardcoding this instanceof check in HttpSolrCall would it make more sense to add a new 'default' method to SolrRequestHandler that UpdateRequestHandler (and potentially other handlers) could override to let them inspect the request and return true/false if it's "important" enough that it must be allowed to block shutdown until complete? *** this would also make it easier to bring back the "only block updates if i'm the leader" type logic (living inside thee UpdateRequestHandler impl of the new method) at a later date if viable – w/o more API changes > Reduce leader election time on node shutdown > > > Key: SOLR-14942 > URL: https://issues.apache.org/jira/browse/SOLR-14942 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: SolrCloud >Affects Versions: 7.7.3, 8.6.3 >Reporter: Shalin Shekhar Mangar >Assignee: Shalin Shekhar Mangar >Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > The credit for this issue and investigation belongs to [~caomanhdat]. I am > merely reporting the issue and creating PRs based on his work. > The shutdown process waits for all replicas/cores to be closed before > removing the election node of the leader. This can take some time due to > index flush or merge activities on the leader cores and delays new leaders > from being elected. > This process happens at CoreContainer.shutdown(): > # zkController.preClose(): remove current node from live_node and change > states of all cores in this node to DOWN state. Assuming that the current > node hosting a leader of a shard, the shard becomes leaderless after calling > this method, since the state of the leader is DOWN now. The leader election > process is not triggered for the shard since the election node is still > on-hold by the current node. > # Waiting for all cores to be loaded (if there are any). > # SolrCores.close(): close all cores. > # zkController.close(): this is where all ephemeral nodes are removed from ZK > which include election nodes created by this node. Therefore other replicas > in the shard can take part in the leader election from now. > Note that CoreContainer.shutdown() is invoked when Jetty/Solr nodes receive > SIGTERM signal. > On receiving SIGTERM, Jetty will also stop accepting new connections and new > requests. This is a very important factor, since even if the leader replica > is ACTIVE and its node in live_nodes, the shard will be considered as > leaderless if no-one can index to that shard. Therefore shards become > leaderless as soon as the node (which contains shard’s leader) receives > SIGTERM. > Therefore the longer time step 1, 2 and 3 needed to finish, the longer shards > remain leaderless. The time needed for step 3 scales with the number of cores > so the more cores a node has, the worse. This time is spent in > IndexWriter.close() where the system will > # Flush all pending updates to disk > # Waiting for all merge finish (this most likely is the meaty part) > The shutdown process is proposed to changed to: > # Wait for all in-flight indexing requests and replication requests to > complete > # Remove election nodes > # Close all replicas/cores > This ensures that index flush or merges do not block new leader elections > anymore. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] HoustonPutman opened a new pull request #2005: Add example for ConfigSet create with properties map.
HoustonPutman opened a new pull request #2005: URL: https://github.com/apache/lucene-solr/pull/2005 The previous example in the documentation only used the less-user-friendly `configSetProp.` option. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14907) Support single file upload/overwrite in configSet API
[ https://issues.apache.org/jira/browse/SOLR-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216990#comment-17216990 ] David Smiley commented on SOLR-14907: - Why the HTTP POST/PUT distinction on "Create" vs "Update"? A quick google search reveals https://restfulapi.net/rest-put-vs-post/ and it seems we should have only PUT. I suppose you are trying to map overwrite=true/false to the restful action. Maybe there simply is no "false" for the RESTful side... if you want to avoid over-writing, then see if it's there first. Thoughts? > Support single file upload/overwrite in configSet API > - > > Key: SOLR-14907 > URL: https://issues.apache.org/jira/browse/SOLR-14907 > Project: Solr > Issue Type: Improvement > Components: configset-api >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Fix For: 8.7 > > Time Spent: 1.5h > Remaining Estimate: 0h > > After SOLR-10391 was implemented, users are now able to overwrite existing > configSets using the configSet API. However the files uploaded are still > required to be zipped and indexed from the base configSet path in ZK. Users > might want to just update a single file, such as a synonyms list, and not > have to tar it up first. > The proposed solution is to add parameters to the UPLOAD configSet action, to > allow this single-file use case. This would utilize the protections already > provided by the API, such as maintaining the trustiness of configSets being > modified. > This feature is part of the solution to replace managed resources, which is > planned to be deprecated and removed by 9.0 (SOLR-14766). > The following APIs are being proposed: > V1: > Adding to the configSet upload one urlParam, filePath: > "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; > V2: > * Creating a configSet: > ** POST - /cluster/configs/\{name} > * Updating a configSet: > ** PUT - /cluster/configs/\{name} > * Creating a file in a configSet: > ** POST - /cluster/configs/\{name}/files/\{filename} > * Updating a file in a configSet: > ** PUT - /cluster/configs/\{name}/files/\{filename} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] TomMD commented on a change in pull request #1997: SOLR-14940: Add ability to remove SolrCore.closeHooks. Keep reference…
TomMD commented on a change in pull request #1997: URL: https://github.com/apache/lucene-solr/pull/1997#discussion_r507963519 ## File path: solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java ## @@ -415,19 +415,15 @@ private void fetchIndex(SolrParams solrParams, SolrQueryResponse rsp) throws Int } static Long getCheckSum(Checksum checksum, File f) { -FileInputStream fis = null; checksum.reset(); byte[] buffer = new byte[1024 * 1024]; int bytesRead; -try { - fis = new FileInputStream(f); +try (final FileInputStream fis = new FileInputStream(f)) { while ((bytesRead = fis.read(buffer)) >= 0) checksum.update(buffer, 0, bytesRead); return checksum.getValue(); } catch (Exception e) { Review comment: @dweiss Are we talking about the same code? The pull request / commit Muse commented on actually deleted the finally block and its `closeQuietly` call. [Here is the code analyzed](https://github.com/apache/lucene-solr/blob/c244474b2d3934a4b3d1ee2fbb419cf90605495d/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java#L421) which was flagged with the bug. That change was subsequently reverted by @anver-trip (commit 8a10d1b) so this PR no longer has the bug in the comment. Github helpfully adds an "Outdated" tag to comments that are on lines which have changed, such as this one. Please let me know if I've misunderstood the situation or we can make things flow more smoothly! This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14907) Support single file upload/overwrite in configSet API
[ https://issues.apache.org/jira/browse/SOLR-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216997#comment-17216997 ] Houston Putman commented on SOLR-14907: --- bq. I suppose you are trying to map overwrite=true/false to the restful action Yeah that's the idea. After reading through that though, I think you are right that PUT works best overall for both create & update. And users can override the "overwrite=false" if they so desire. Slightly awkward that the default behavior is different between v1 and v2, but it does make the most since with the REST API. I'll make those changes real quick. > Support single file upload/overwrite in configSet API > - > > Key: SOLR-14907 > URL: https://issues.apache.org/jira/browse/SOLR-14907 > Project: Solr > Issue Type: Improvement > Components: configset-api >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Fix For: 8.7 > > Time Spent: 1.5h > Remaining Estimate: 0h > > After SOLR-10391 was implemented, users are now able to overwrite existing > configSets using the configSet API. However the files uploaded are still > required to be zipped and indexed from the base configSet path in ZK. Users > might want to just update a single file, such as a synonyms list, and not > have to tar it up first. > The proposed solution is to add parameters to the UPLOAD configSet action, to > allow this single-file use case. This would utilize the protections already > provided by the API, such as maintaining the trustiness of configSets being > modified. > This feature is part of the solution to replace managed resources, which is > planned to be deprecated and removed by 9.0 (SOLR-14766). > The following APIs are being proposed: > V1: > Adding to the configSet upload one urlParam, filePath: > "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; > V2: > * Creating a configSet: > ** POST - /cluster/configs/\{name} > * Updating a configSet: > ** PUT - /cluster/configs/\{name} > * Creating a file in a configSet: > ** POST - /cluster/configs/\{name}/files/\{filename} > * Updating a file in a configSet: > ** PUT - /cluster/configs/\{name}/files/\{filename} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14588) Circuit Breakers Infrastructure and Real JVM Based Circuit Breaker
[ https://issues.apache.org/jira/browse/SOLR-14588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17217003#comment-17217003 ] David Smiley commented on SOLR-14588: - The backport forgot the package-info.json, and so precommit is failing. > Circuit Breakers Infrastructure and Real JVM Based Circuit Breaker > -- > > Key: SOLR-14588 > URL: https://issues.apache.org/jira/browse/SOLR-14588 > Project: Solr > Issue Type: Improvement >Reporter: Atri Sharma >Assignee: Atri Sharma >Priority: Blocker > Fix For: master (9.0), 8.7 > > Time Spent: 13h 50m > Remaining Estimate: 0h > > This Jira tracks addition of circuit breakers in the search path and > implements JVM based circuit breaker which rejects incoming search requests > if the JVM heap usage exceeds a defined percentage. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] dsmiley commented on pull request #2002: SOLR Mark only @deprecated tag, not @Deprecated annotation
dsmiley commented on pull request #2002: URL: https://github.com/apache/lucene-solr/pull/2002#issuecomment-712359085 @epugh I modified to include a link to https://cwiki.apache.org/confluence/display/SOLR/Deprecations which I think is easier to maintain and sufficient This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] dweiss commented on a change in pull request #1997: SOLR-14940: Add ability to remove SolrCore.closeHooks. Keep reference…
dweiss commented on a change in pull request #1997: URL: https://github.com/apache/lucene-solr/pull/1997#discussion_r507970674 ## File path: solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java ## @@ -415,19 +415,15 @@ private void fetchIndex(SolrParams solrParams, SolrQueryResponse rsp) throws Int } static Long getCheckSum(Checksum checksum, File f) { -FileInputStream fis = null; checksum.reset(); byte[] buffer = new byte[1024 * 1024]; int bytesRead; -try { - fis = new FileInputStream(f); +try (final FileInputStream fis = new FileInputStream(f)) { while ((bytesRead = fis.read(buffer)) >= 0) checksum.update(buffer, 0, bytesRead); return checksum.getValue(); } catch (Exception e) { Review comment: Ok, I'm confused then. I was looking at the closeQuietly version... these are not the same in what they do. Please disregard. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] dsmiley commented on pull request #2002: SOLR Mark only @deprecated tag, not @Deprecated annotation
dsmiley commented on pull request #2002: URL: https://github.com/apache/lucene-solr/pull/2002#issuecomment-712359499 @chatman are you okay with what I'm doing here? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Comment Edited] (LUCENE-9322) Discussing a unified vectors format API
[ https://issues.apache.org/jira/browse/LUCENE-9322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216503#comment-17216503 ] Julie Tibshirani edited comment on LUCENE-9322 at 10/19/20, 6:28 PM: - Thank [~sokolov] for the great PR!! I left some belated thoughts on the PR regarding ScoreFunction. was (Author: jtibshirani): Thank @msokolov for the great PR!! I left some belated thoughts on the PR regarding ScoreFunction. > Discussing a unified vectors format API > --- > > Key: LUCENE-9322 > URL: https://issues.apache.org/jira/browse/LUCENE-9322 > Project: Lucene - Core > Issue Type: New Feature >Reporter: Julie Tibshirani >Priority: Major > Fix For: master (9.0) > > Time Spent: 6h 10m > Remaining Estimate: 0h > > Two different approximate nearest neighbor approaches are currently being > developed, one based on HNSW (LUCENE-9004) and another based on coarse > quantization ([#LUCENE-9136]). Each prototype proposes to add a new format to > handle vectors. In LUCENE-9136 we discussed the possibility of a unified API > that could support both approaches. The two ANN strategies give different > trade-offs in terms of speed, memory, and complexity, and it’s likely that > we’ll want to support both. Vector search is also an active research area, > and it would be great to be able to prototype and incorporate new approaches > without introducing more formats. > To me it seems like a good time to begin discussing a unified API. The > prototype for coarse quantization > ([https://github.com/apache/lucene-solr/pull/1314]) could be ready to commit > soon (this depends on everyone's feedback of course). The approach is simple > and shows solid search performance, as seen > [here|https://github.com/apache/lucene-solr/pull/1314#issuecomment-608645326]. > I think this API discussion is an important step in moving that > implementation forward. > The goals of the API would be > # Support for storing and retrieving individual float vectors. > # Support for approximate nearest neighbor search -- given a query vector, > return the indexed vectors that are closest to it. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14907) Support single file upload/overwrite in configSet API
[ https://issues.apache.org/jira/browse/SOLR-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Houston Putman updated SOLR-14907: -- Description: After SOLR-10391 was implemented, users are now able to overwrite existing configSets using the configSet API. However the files uploaded are still required to be zipped and indexed from the base configSet path in ZK. Users might want to just update a single file, such as a synonyms list, and not have to tar it up first. The proposed solution is to add parameters to the UPLOAD configSet action, to allow this single-file use case. This would utilize the protections already provided by the API, such as maintaining the trustiness of configSets being modified. This feature is part of the solution to replace managed resources, which is planned to be deprecated and removed by 9.0 (SOLR-14766). The following APIs are being proposed: V1: Adding to the configSet upload one urlParam, filePath: "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; V2: * Uploading a configSet: ** PUT - /cluster/configs/\{name} * Uploading a file in a configSet: ** PUT - /cluster/configs/\{name}/files/\{filename} was: After SOLR-10391 was implemented, users are now able to overwrite existing configSets using the configSet API. However the files uploaded are still required to be zipped and indexed from the base configSet path in ZK. Users might want to just update a single file, such as a synonyms list, and not have to tar it up first. The proposed solution is to add parameters to the UPLOAD configSet action, to allow this single-file use case. This would utilize the protections already provided by the API, such as maintaining the trustiness of configSets being modified. This feature is part of the solution to replace managed resources, which is planned to be deprecated and removed by 9.0 (SOLR-14766). The following APIs are being proposed: V1: Adding to the configSet upload one urlParam, filePath: "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; V2: * Creating a configSet: ** POST - /cluster/configs/\{name} * Updating a configSet: ** PUT - /cluster/configs/\{name} * Creating a file in a configSet: ** POST - /cluster/configs/\{name}/files/\{filename} * Updating a file in a configSet: ** PUT - /cluster/configs/\{name}/files/\{filename} > Support single file upload/overwrite in configSet API > - > > Key: SOLR-14907 > URL: https://issues.apache.org/jira/browse/SOLR-14907 > Project: Solr > Issue Type: Improvement > Components: configset-api >Reporter: Houston Putman >Assignee: Houston Putman >Priority: Major > Fix For: 8.7 > > Time Spent: 1.5h > Remaining Estimate: 0h > > After SOLR-10391 was implemented, users are now able to overwrite existing > configSets using the configSet API. However the files uploaded are still > required to be zipped and indexed from the base configSet path in ZK. Users > might want to just update a single file, such as a synonyms list, and not > have to tar it up first. > The proposed solution is to add parameters to the UPLOAD configSet action, to > allow this single-file use case. This would utilize the protections already > provided by the API, such as maintaining the trustiness of configSets being > modified. > This feature is part of the solution to replace managed resources, which is > planned to be deprecated and removed by 9.0 (SOLR-14766). > The following APIs are being proposed: > V1: > Adding to the configSet upload one urlParam, filePath: > "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet&filePath=solrconfig.xml&overwrite=true"; > V2: > * Uploading a configSet: > ** PUT - /cluster/configs/\{name} > * Uploading a file in a configSet: > ** PUT - /cluster/configs/\{name}/files/\{filename} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Updated] (SOLR-14948) Autoscaling maxComputeOperations override causes exceptions
[ https://issues.apache.org/jira/browse/SOLR-14948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrzej Bialecki updated SOLR-14948: Fix Version/s: (was: 8.8) 8.7 > Autoscaling maxComputeOperations override causes exceptions > --- > > Key: SOLR-14948 > URL: https://issues.apache.org/jira/browse/SOLR-14948 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: AutoScaling >Affects Versions: 8.6.3 >Reporter: Andrzej Bialecki >Assignee: Andrzej Bialecki >Priority: Major > Fix For: 8.7 > > > The maximum number of operations to calculate in {{ComputePlanAction}} is > estimated based on the average collection replication factor and the size of > the cluster. > In some cases this estimate may be insufficient, and there's an override > property that can be defined in {{autoscaling.json}} named > {{maxComputeOperations}}. However, the code in {{ComputePlanAction}} makes an > explicit cast to {{Integer}} whereas the value coming from a parsed JSON is > of type {{Long}}. This results in a {{ClassCastException}} being thrown. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[jira] [Commented] (SOLR-14948) Autoscaling maxComputeOperations override causes exceptions
[ https://issues.apache.org/jira/browse/SOLR-14948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17217024#comment-17217024 ] ASF subversion and git services commented on SOLR-14948: Commit 15d2bdd28b890b7bc478ca3ae8724eb68056d8d4 in lucene-solr's branch refs/heads/branch_8x from Andrzej Bialecki [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=15d2bdd ] SOLR-14948: Autoscaling maxComputeOperations override causes exceptions. > Autoscaling maxComputeOperations override causes exceptions > --- > > Key: SOLR-14948 > URL: https://issues.apache.org/jira/browse/SOLR-14948 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: AutoScaling >Affects Versions: 8.6.3 >Reporter: Andrzej Bialecki >Assignee: Andrzej Bialecki >Priority: Major > Fix For: 8.7 > > > The maximum number of operations to calculate in {{ComputePlanAction}} is > estimated based on the average collection replication factor and the size of > the cluster. > In some cases this estimate may be insufficient, and there's an override > property that can be defined in {{autoscaling.json}} named > {{maxComputeOperations}}. However, the code in {{ComputePlanAction}} makes an > explicit cast to {{Integer}} whereas the value coming from a parsed JSON is > of type {{Long}}. This results in a {{ClassCastException}} being thrown. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene-solr] yurikpanic opened a new pull request #2006: Add a unit test for a tessellator failure
yurikpanic opened a new pull request #2006: URL: https://github.com/apache/lucene-solr/pull/2006 Tessellator fails with ` java.lang.IllegalArgumentException: Unable to Tessellate shape ...` exception for the polygon in the unit 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org