[jira] [Commented] (SOLR-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17127308#comment-17127308 ] ASF subversion and git services commented on SOLR-14442: Commit c8e43346928b6d989d9e4d82c0334b322664c69a in lucene-solr's branch refs/heads/master from Mikhail Khludnev [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=c8e4334 ] SOLR-14442: call jstack before force kill; force kill regardles of open port. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17127309#comment-17127309 ] ASF subversion and git services commented on SOLR-14442: Commit 7ab160b6e4594bf00d740c9c85a664b04e8abe77 in lucene-solr's branch refs/heads/branch_8x from Mikhail Khludnev [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=7ab160b ] SOLR-14442: call jstack before force kill; force kill regardles of open port. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17127328#comment-17127328 ] Mikhail Khludnev commented on SOLR-14442: - oh.. I forgot to add CHANGES.txt, will fix it soon. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17127362#comment-17127362 ] ASF subversion and git services commented on SOLR-14442: Commit d456e0bfcef0a7fedf7598009d3407a1bbe57fcc in lucene-solr's branch refs/heads/branch_8x from Mikhail Khludnev [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=d456e0b ] SOLR-14442: add improvement to CHANGES.txt > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17127361#comment-17127361 ] ASF subversion and git services commented on SOLR-14442: Commit a60f17dc0a03e05fb7406a60423af5edf88b03ec in lucene-solr's branch refs/heads/master from Mikhail Khludnev [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=a60f17d ] SOLR-14442: add improvement to CHANGES.txt > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119474#comment-17119474 ] Christine Poerschke commented on SOLR-14442: Thanks [~mkhl]! I won't get to this this week, sorry, i.e. please feel free to go ahead and commit, thank you. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119095#comment-17119095 ] Mikhail Khludnev commented on SOLR-14442: - [~cpoerschke] are you going to commit it? If you don't mind I can commit it myself, please let me know. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17112179#comment-17112179 ] Mikhail Khludnev commented on SOLR-14442: - I suppose {{jstack}} is Improvement; using {{qprocess}} is a bugfix. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17111935#comment-17111935 ] Christine Poerschke commented on SOLR-14442: Thanks [~mkhl] for taking a look at {{solr.cmd}} here! bq. ... it seems that current code doesn't stop process ... Wow, that's an interesting and unexpected side effect find. In terms of a {{solr/CHANGES.txt}} entry for this ticket I'd been undecided and wondered if it could be omitted perhaps, jstack being implementation detail to an extent and also not something the typical user would be likely to see, hopefully. A fix for {{solr.cmd}} not stopping as expected might change that though, thoughts? > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17109245#comment-17109245 ] Mikhail Khludnev commented on SOLR-14442: - Attached my fix for solr.cmd. 1. it seems that current code doesn't stop process forcefully at least for this test script since (as I wrote above) soft killed process unbind from port, but keeps running. 2. I can't combine IFs in batch properly, had to copypaste. I tried, better looking options doesn't work. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, SOLR-14442.patch, > screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17109228#comment-17109228 ] Mikhail Khludnev commented on SOLR-14442: - ok. It seems I've got what's happened. Attempting to kill via http command actually removes the process from netstat output. So, it needs to capture and store PID before first attempt. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17109094#comment-17109094 ] Mikhail Khludnev commented on SOLR-14442: - Hi, [~cpoerschke]. Thanks for your effort. But it turns to be little bit more complicated. I truned {{echo on}} for {{.cmd}} before exercise. That how the stopping attempt looks like {code} REM Attempt jstack before killing the process IF EXIST "C:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-hotspot\bin\jstack.exe" ( "C:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-hotspot\bin\jstack.exe" %N ) taskkill /f /PID %N ) ) ) ) ) ) Stopping Solr process 5860 running on port 8983 Waiting for 0 seconds, press a key to continue ... C:\Users\Mikhail_Khludnev\git\lucene-solr\solr>ENDLOCAL {code} And it's over. Note: no jstack output. It seems like it's killed process afterwards. But it doesn't. Notice PID in Task Manager !screenshot-1.png! That java process is still hanging that lock solr.log and prevent bootstrapping solr again. And ... _hardly belive_.. I can {{jstack}} it {{code}} C:\Users\Mikhail_Khludnev\git\lucene-solr\solr>"C:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-hotspot\bin\jstack.exe" 5860 2020-05-16 17:54:32 Full thread dump OpenJDK 64-Bit Server VM (11.0.6+10 mixed mode): {{code}} Threads are really interesting, There's no query exec thread which is expected to hang on {{sleep()}} Then, can {{taskkill /F}} it successfully {{code}} taskkill /F /PID 5860 SUCCESS: The process with PID 5860 has been terminated. {{code}} It's dead after it. The only idea I have is suspicious {{%N}} Does it work as var substitution in CMD? > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch, screenshot-1.png > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17095548#comment-17095548 ] Christine Poerschke commented on SOLR-14442: Uploaded patch which also includes {{bin/solr.cmd}} change for Windows, though it's not a Solr platform I'm familiar with. Would appreciate review and/or test input from anyone who is. Thanks! > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch, SOLR-14442.patch > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17095540#comment-17095540 ] Christine Poerschke commented on SOLR-14442: Here's the commands I used to test the {{bin/solr}} changes. * First terminal: {code:java} cd solr ant dist server bin/solr start -e techproducts -noprompt bin/solr stop {code} * Second terminal: {code:java} curl 'http://localhost:8983/solr/techproducts/select?fl=id,popularity,score&defType=func&q=add(popularity,0)' curl 'http://localhost:8983/solr/techproducts/select?fl=id,popularity,score&defType=func&q=add(popularity,sleep(1000,0))' curl 'http://localhost:8983/solr/techproducts/select?fl=id,popularity,score&defType=func&q=add(popularity,sleep(234000,0))' {code} The last query with the sleep command needs to be run before the stop command is issued and the sleep needs to be long enough to make the instance stopping untimely i.e. the script waits for SOLR_STOP_WAIT of 180s and the first sleep parameter looks to be milliseconds i.e. 234000 is 234s which is plenty over the 180s limit. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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-14442) bin/solr to attempt jstack before killing hung Solr instance
[ https://issues.apache.org/jira/browse/SOLR-14442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17094680#comment-17094680 ] Christine Poerschke commented on SOLR-14442: Attached work-in-progress patch to invite initial comments, if any. I haven't tested the change as yet and also the Windows {{solr.cmd}} equivalent to {{solr}} is still missing. > bin/solr to attempt jstack before killing hung Solr instance > > > Key: SOLR-14442 > URL: https://issues.apache.org/jira/browse/SOLR-14442 > Project: Solr > Issue Type: Improvement >Reporter: Christine Poerschke >Assignee: Christine Poerschke >Priority: Minor > Attachments: SOLR-14442.patch > > > If a Solr instance did not respond to the 'stop' command in a timely manner > then the {{bin/solr}} script will attempt to forcefully kill it: > [https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.5.1/solr/bin/solr#L859] > Gathering of information (e.g. a jstack of the java process) before the kill > command may be helpful in determining why the instance did not stop as > expected. -- 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