Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-8045

Deploy V2 API at /v2 instead of /solr/v2

    Details

    • Type: Wish
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.6, 7.0
    • Component/s: None
    • Labels:
      None

      Description

      This does not mean that the path to access Solr will be changed. All paths will remain as is and would behave exactly the same

      1. SOLR-8045.patch
        19 kB
        Noble Paul
      2. SOLR-8045.patch
        12 kB
        Cao Manh Dat
      3. SOLR-8045.patch
        12 kB
        Cao Manh Dat
      4. SOLR-8045.patch
        11 kB
        Cao Manh Dat
      5. SOLR-8045.patch
        119 kB
        Cao Manh Dat
      6. SOLR-8045.patch
        123 kB
        Cao Manh Dat
      7. SOLR-8045.patch
        97 kB
        Cao Manh Dat

        Issue Links

          Activity

          Hide
          caomanhdat Cao Manh Dat added a comment -

          Initial patch for this issue. This include some changes

          • Modify jetty.xml to deploy Solr in ROOT ( / ) path
          • Modify SolrDispatchFilter and HttpSolrCall so whenever a call to /solr/... will be handled like /.... So users do not have change they code.
          • Move admin ui to /ui, here are some reason
            • Lesser number of patterns in excludepatterns.
            • Old bookmark to admin ui still work perfectly
            • All calls to /solr/.. will be handled like /..., it will be much clearer to
              separate old api calls and admin ui.
          • API v2 ( SOLR-8029 ) will be deployed at /v2, all calls to /solr/v2 will ends up with 404
          Show
          caomanhdat Cao Manh Dat added a comment - Initial patch for this issue. This include some changes Modify jetty.xml to deploy Solr in ROOT ( / ) path Modify SolrDispatchFilter and HttpSolrCall so whenever a call to /solr/... will be handled like /... . So users do not have change they code. Move admin ui to /ui , here are some reason Lesser number of patterns in excludepatterns. Old bookmark to admin ui still work perfectly All calls to /solr/.. will be handled like /... , it will be much clearer to separate old api calls and admin ui. API v2 ( SOLR-8029 ) will be deployed at /v2 , all calls to /solr/v2 will ends up with 404
          Hide
          caomanhdat Cao Manh Dat added a comment -

          Jan Høydahl Can you take a look at changes at admin ui?

          Show
          caomanhdat Cao Manh Dat added a comment - Jan Høydahl Can you take a look at changes at admin ui?
          Hide
          janhoy Jan Høydahl added a comment -

          So all these admin/foo => ../admin/foo renames are because the UI now lives under /ui. And once we wish to switch the UI over to using v2 APIs, we'd change those relative paths once again to ../v2/admin/foo? Have you double checked that there are no other places assuming that a certain image resides where it used to?

          One thing to test could be bin/solr -e techproducts && open http://localhost:8983/solr/techproducts/browse/ and see whether the Solr logo still shows..

          Show
          janhoy Jan Høydahl added a comment - So all these admin/foo => ../admin/foo renames are because the UI now lives under /ui . And once we wish to switch the UI over to using v2 APIs, we'd change those relative paths once again to ../v2/admin/foo ? Have you double checked that there are no other places assuming that a certain image resides where it used to? One thing to test could be bin/solr -e techproducts && open http://localhost:8983/solr/techproducts/browse/ and see whether the Solr logo still shows..
          Hide
          caomanhdat Cao Manh Dat added a comment - - edited

          Jan Høydahl

          So all these admin/foo => ../admin/foo renames are because the UI now lives under /ui. And once we wish to switch the UI over to using v2 APIs, we'd change those relative paths once again to ../v2/admin/foo?

          Yes, I think so

          Have you double checked that there are no other places assuming that a certain image resides where it used to?

          Good point, I fixed some broken references on velocity. If we find more problems after we commit this ticket, we always can fix the problems on other issues. I also double check the admin ui and it seems working perfectly.

          Show
          caomanhdat Cao Manh Dat added a comment - - edited Jan Høydahl So all these admin/foo => ../admin/foo renames are because the UI now lives under /ui. And once we wish to switch the UI over to using v2 APIs, we'd change those relative paths once again to ../v2/admin/foo? Yes, I think so Have you double checked that there are no other places assuming that a certain image resides where it used to? Good point, I fixed some broken references on velocity. If we find more problems after we commit this ticket, we always can fix the problems on other issues. I also double check the admin ui and it seems working perfectly.
          Hide
          markrmiller@gmail.com Mark Miller added a comment -

          This does not mean that the path to access Solr will be changed. All paths will remain as is and would behave exactly the same

          So what are the reasons for the issue then?

          Show
          markrmiller@gmail.com Mark Miller added a comment - This does not mean that the path to access Solr will be changed. All paths will remain as is and would behave exactly the same So what are the reasons for the issue then?
          Hide
          noble.paul Noble Paul added a comment -

          Mark Miller it allows us to use other paths such as /v2/ or /ui/

          Show
          noble.paul Noble Paul added a comment - Mark Miller it allows us to use other paths such as /v2/ or /ui/
          Hide
          caomanhdat Cao Manh Dat added a comment -

          Update the patch to make it more compact.

          Show
          caomanhdat Cao Manh Dat added a comment - Update the patch to make it more compact.
          Hide
          caomanhdat Cao Manh Dat added a comment -

          Because our goal for this ticket is make v2 API available at "/v2" instead of "/solr/v2".

          We also have a discussion with Hoss Man, and he have an great idea to this problem. So here are the latest patch.

          In this patch :

          • "/solr/v2" is changed into "/solr/____v2" so users won't attempt to use this path
          • jetty will internally redirect (very fast) "/v2" to "/solr/____v2"
          Show
          caomanhdat Cao Manh Dat added a comment - Because our goal for this ticket is make v2 API available at "/v2" instead of "/solr/v2". We also have a discussion with Hoss Man , and he have an great idea to this problem. So here are the latest patch. In this patch : "/solr/v2" is changed into "/solr/____v2" so users won't attempt to use this path jetty will internally redirect (very fast) "/v2" to "/solr/____v2"
          Hide
          caomanhdat Cao Manh Dat added a comment -

          Updated patch, adding test for redirection in smoker.

          Show
          caomanhdat Cao Manh Dat added a comment - Updated patch, adding test for redirection in smoker.
          Hide
          noble.paul Noble Paul added a comment -

          Cao Manh Dat what is left to be done on this

          Show
          noble.paul Noble Paul added a comment - Cao Manh Dat what is left to be done on this
          Hide
          caomanhdat Cao Manh Dat added a comment -

          Noble Paul There are something left in blob handler which I do not sure how to handle it ( should it change to "/____v2" or not? ). The tests still pass even we do not touch it.

          Show
          caomanhdat Cao Manh Dat added a comment - Noble Paul There are something left in blob handler which I do not sure how to handle it ( should it change to "/____v2" or not? ). The tests still pass even we do not touch it.
          Hide
          caomanhdat Cao Manh Dat added a comment -

          Final patch for this ticket.

          Show
          caomanhdat Cao Manh Dat added a comment - Final patch for this ticket.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 0fb386a864ff5b7d32af3bef3f7eeca4d009acc1 in lucene-solr's branch refs/heads/master from Cao Manh Dat
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=0fb386a ]

          SOLR-8045: Deploy V2 API at /v2 instead of /solr/v2

          Show
          jira-bot ASF subversion and git services added a comment - Commit 0fb386a864ff5b7d32af3bef3f7eeca4d009acc1 in lucene-solr's branch refs/heads/master from Cao Manh Dat [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=0fb386a ] SOLR-8045 : Deploy V2 API at /v2 instead of /solr/v2
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 89baa4fd43477c3b0be59e81299b651d70b3c128 in lucene-solr's branch refs/heads/branch_6x from Cao Manh Dat
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=89baa4f ]

          SOLR-8045: Deploy V2 API at /v2 instead of /solr/v2

          Show
          jira-bot ASF subversion and git services added a comment - Commit 89baa4fd43477c3b0be59e81299b651d70b3c128 in lucene-solr's branch refs/heads/branch_6x from Cao Manh Dat [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=89baa4f ] SOLR-8045 : Deploy V2 API at /v2 instead of /solr/v2
          Hide
          steve_rowe Steve Rowe added a comment -

          ASF Jenkins has a smoke tester failure after this issue's branch_6x commit https://builds.apache.org/job/Lucene-Solr-SmokeRelease-6.x/283/ - when I run ant nightly-smoke without a seed on current branch_6x, I see the same failure:

          Checking out Revision 89baa4fd43477c3b0be59e81299b651d70b3c128 (refs/remotes/origin/branch_6x)
          [...]
             [smoker] Test Solr...
          [...]
             [smoker] Solr techproducts example launched successfully. Direct your Web browser to http://localhost:8983/solr to visit the Solr Admin UI
             [smoker]       test utf8...
             [smoker]       run query...
             [smoker] FAILED: response is:
             [smoker] {"responseHeader":{"status":0,"QTime":2},"initFailures":{},"status":{"techproducts":{"name":"techproducts","instanceDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/lucene/build/smokeTestRelease/tmp/unpack/solr-6.5.0-java8/example/techproducts/solr/techproducts","dataDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/lucene/build/smokeTestRelease/tmp/unpack/solr-6.5.0-java8/example/techproducts/solr/techproducts/data/","config":"solrconfig.xml","schema":"managed-schema","startTime":"2017-03-11T14:53:39.348Z","uptime":1183,"index":{"numDocs":32,"maxDoc":32,"deletedDocs":0,"indexHeapUsageBytes":-1,"version":6,"segmentCount":1,"current":true,"hasDeletions":false,"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(MMapDirectory@/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/lucene/build/smokeTestRelease/tmp/unpack/solr-6.5.0-java8/example/techproducts/solr/techproducts/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@2a09960c; maxCacheMB=48.0 maxMergeSizeMB=4.0)","segmentsFile":"segments_2","segmentsFileSizeInBytes":165,"userData":{"commitTimeMSec":"1489244020126"},"lastModified":"2017-03-11T14:53:40.126Z","sizeInBytes":28411,"size":"27.75 KB"}}}}
             [smoker] 
             [smoker]       stop server using: bin/solr stop -p 8983
             [smoker] Sending stop command to Solr running on port 8983 ... waiting up to 180 seconds to allow Jetty process 15932 to stop gracefully.
             [smoker] Traceback (most recent call last):
             [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 1476, in <module>
             [smoker]     main()
             [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 1420, in main
             [smoker]     smokeTest(c.java, c.url, c.revision, c.version, c.tmp_dir, c.is_signed, ' '.join(c.test_args))
             [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 1464, in smokeTest
             [smoker]     unpackAndVerify(java, 'solr', tmpDir, artifact, gitRevision, version, testArgs, baseURL)
             [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 622, in unpackAndVerify
             [smoker]     verifyUnpacked(java, project, artifact, unpackPath, gitRevision, version, testArgs, tmpDir, baseURL)
             [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 760, in verifyUnpacked
             [smoker]     testSolrExample(java8UnpackPath, java.java8_home, False)
             [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 861, in testSolrExample
             [smoker]     raise RuntimeError('query api v2 on solr example instance failed')
             [smoker] RuntimeError: query api v2 on solr example instance failed
             [smoker]  [|]   [/]   [-]   [\]      
          

          When I run ant nightly-smoke on branch_6x at 8c5ea32, the commit just before this issue was committed to branch_6x, I don't see this failure.

          Show
          steve_rowe Steve Rowe added a comment - ASF Jenkins has a smoke tester failure after this issue's branch_6x commit https://builds.apache.org/job/Lucene-Solr-SmokeRelease-6.x/283/ - when I run ant nightly-smoke without a seed on current branch_6x, I see the same failure: Checking out Revision 89baa4fd43477c3b0be59e81299b651d70b3c128 (refs/remotes/origin/branch_6x) [...] [smoker] Test Solr... [...] [smoker] Solr techproducts example launched successfully. Direct your Web browser to http://localhost:8983/solr to visit the Solr Admin UI [smoker] test utf8... [smoker] run query... [smoker] FAILED: response is: [smoker] {"responseHeader":{"status":0,"QTime":2},"initFailures":{},"status":{"techproducts":{"name":"techproducts","instanceDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/lucene/build/smokeTestRelease/tmp/unpack/solr-6.5.0-java8/example/techproducts/solr/techproducts","dataDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/lucene/build/smokeTestRelease/tmp/unpack/solr-6.5.0-java8/example/techproducts/solr/techproducts/data/","config":"solrconfig.xml","schema":"managed-schema","startTime":"2017-03-11T14:53:39.348Z","uptime":1183,"index":{"numDocs":32,"maxDoc":32,"deletedDocs":0,"indexHeapUsageBytes":-1,"version":6,"segmentCount":1,"current":true,"hasDeletions":false,"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(MMapDirectory@/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/lucene/build/smokeTestRelease/tmp/unpack/solr-6.5.0-java8/example/techproducts/solr/techproducts/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@2a09960c; maxCacheMB=48.0 maxMergeSizeMB=4.0)","segmentsFile":"segments_2","segmentsFileSizeInBytes":165,"userData":{"commitTimeMSec":"1489244020126"},"lastModified":"2017-03-11T14:53:40.126Z","sizeInBytes":28411,"size":"27.75 KB"}}}} [smoker] [smoker] stop server using: bin/solr stop -p 8983 [smoker] Sending stop command to Solr running on port 8983 ... waiting up to 180 seconds to allow Jetty process 15932 to stop gracefully. [smoker] Traceback (most recent call last): [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 1476, in <module> [smoker] main() [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 1420, in main [smoker] smokeTest(c.java, c.url, c.revision, c.version, c.tmp_dir, c.is_signed, ' '.join(c.test_args)) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 1464, in smokeTest [smoker] unpackAndVerify(java, 'solr', tmpDir, artifact, gitRevision, version, testArgs, baseURL) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 622, in unpackAndVerify [smoker] verifyUnpacked(java, project, artifact, unpackPath, gitRevision, version, testArgs, tmpDir, baseURL) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 760, in verifyUnpacked [smoker] testSolrExample(java8UnpackPath, java.java8_home, False) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-6.x/dev-tools/scripts/smokeTestRelease.py", line 861, in testSolrExample [smoker] raise RuntimeError('query api v2 on solr example instance failed') [smoker] RuntimeError: query api v2 on solr example instance failed [smoker] [|]  [/]  [-]  [\]   When I run ant nightly-smoke on branch_6x at 8c5ea32 , the commit just before this issue was committed to branch_6x, I don't see this failure.
          Hide
          steve_rowe Steve Rowe added a comment -

          Same (looking) failure on master https://builds.apache.org/job/Lucene-Solr-SmokeRelease-master/723/:

            [smoker] Test Solr...
          [...]
            [smoker] Solr techproducts example launched successfully. Direct your Web browser to http://localhost:8983/solr to visit the Solr Admin UI
            [smoker]       test utf8...
            [smoker]       run query...
            [smoker] FAILED: response is:
            [smoker] {"responseHeader":{"status":0,"QTime":2},"initFailures":{},"status":{"techproducts":{"name":"techproducts","instanceDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/lucene/build/smokeTestRelease/tmp/unpack/solr-7.0.0-java8/example/techproducts/solr/techproducts","dataDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/lucene/build/smokeTestRelease/tmp/unpack/solr-7.0.0-java8/example/techproducts/solr/techproducts/data/","config":"solrconfig.xml","schema":"managed-schema","startTime":"2017-03-11T18:52:09.695Z","uptime":1178,"index":{"numDocs":32,"maxDoc":32,"deletedDocs":0,"indexHeapUsageBytes":-1,"version":6,"segmentCount":1,"current":true,"hasDeletions":false,"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(MMapDirectory@/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/lucene/build/smokeTestRelease/tmp/unpack/solr-7.0.0-java8/example/techproducts/solr/techproducts/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@45968d2f; maxCacheMB=48.0 maxMergeSizeMB=4.0)","segmentsFile":"segments_2","segmentsFileSizeInBytes":169,"userData":{"commitTimeMSec":"1489258330575"},"lastModified":"2017-03-11T18:52:10.575Z","sizeInBytes":28881,"size":"28.2 KB"}}}}
            [smoker] 
            [smoker]       stop server using: bin/solr stop -p 8983
            [smoker] Sending stop command to Solr running on port 8983 ... waiting up to 180 seconds to allow Jetty process 5742 to stop gracefully.
            [smoker] Traceback (most recent call last):
            [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 1478, in <module>
            [smoker]     main()
            [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 1422, in main
            [smoker]     smokeTest(c.java, c.url, c.revision, c.version, c.tmp_dir, c.is_signed, ' '.join(c.test_args))
            [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 1466, in smokeTest
            [smoker]     unpackAndVerify(java, 'solr', tmpDir, artifact, gitRevision, version, testArgs, baseURL)
            [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 622, in unpackAndVerify
            [smoker]     verifyUnpacked(java, project, artifact, unpackPath, gitRevision, version, testArgs, tmpDir, baseURL)
            [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 760, in verifyUnpacked
            [smoker]     testSolrExample(java8UnpackPath, java.java8_home, False)
            [smoker]   File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 861, in testSolrExample
            [smoker]     raise RuntimeError('query api v2 on solr example instance failed')
            [smoker] RuntimeError: query api v2 on solr example instance failed
            [smoker]  [|]   [/]   [-]   [\]      
          
          Show
          steve_rowe Steve Rowe added a comment - Same (looking) failure on master https://builds.apache.org/job/Lucene-Solr-SmokeRelease-master/723/ : [smoker] Test Solr... [...] [smoker] Solr techproducts example launched successfully. Direct your Web browser to http://localhost:8983/solr to visit the Solr Admin UI [smoker] test utf8... [smoker] run query... [smoker] FAILED: response is: [smoker] {"responseHeader":{"status":0,"QTime":2},"initFailures":{},"status":{"techproducts":{"name":"techproducts","instanceDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/lucene/build/smokeTestRelease/tmp/unpack/solr-7.0.0-java8/example/techproducts/solr/techproducts","dataDir":"/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/lucene/build/smokeTestRelease/tmp/unpack/solr-7.0.0-java8/example/techproducts/solr/techproducts/data/","config":"solrconfig.xml","schema":"managed-schema","startTime":"2017-03-11T18:52:09.695Z","uptime":1178,"index":{"numDocs":32,"maxDoc":32,"deletedDocs":0,"indexHeapUsageBytes":-1,"version":6,"segmentCount":1,"current":true,"hasDeletions":false,"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(MMapDirectory@/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/lucene/build/smokeTestRelease/tmp/unpack/solr-7.0.0-java8/example/techproducts/solr/techproducts/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@45968d2f; maxCacheMB=48.0 maxMergeSizeMB=4.0)","segmentsFile":"segments_2","segmentsFileSizeInBytes":169,"userData":{"commitTimeMSec":"1489258330575"},"lastModified":"2017-03-11T18:52:10.575Z","sizeInBytes":28881,"size":"28.2 KB"}}}} [smoker] [smoker] stop server using: bin/solr stop -p 8983 [smoker] Sending stop command to Solr running on port 8983 ... waiting up to 180 seconds to allow Jetty process 5742 to stop gracefully. [smoker] Traceback (most recent call last): [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 1478, in <module> [smoker] main() [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 1422, in main [smoker] smokeTest(c.java, c.url, c.revision, c.version, c.tmp_dir, c.is_signed, ' '.join(c.test_args)) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 1466, in smokeTest [smoker] unpackAndVerify(java, 'solr', tmpDir, artifact, gitRevision, version, testArgs, baseURL) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 622, in unpackAndVerify [smoker] verifyUnpacked(java, project, artifact, unpackPath, gitRevision, version, testArgs, tmpDir, baseURL) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 760, in verifyUnpacked [smoker] testSolrExample(java8UnpackPath, java.java8_home, False) [smoker] File "/x1/jenkins/jenkins-slave/workspace/Lucene-Solr-SmokeRelease-master/dev-tools/scripts/smokeTestRelease.py", line 861, in testSolrExample [smoker] raise RuntimeError('query api v2 on solr example instance failed') [smoker] RuntimeError: query api v2 on solr example instance failed [smoker] [|]  [/]  [-]  [\]  
          Hide
          hossman Hoss Man added a comment -

          in addition to the smoketester failures – i'm concerned about this change being backported to 6x, since (IIUC) it means users have to change any existing requestHandler declarations they have that already use a registerPath attribute.

          (This is an assumption on my part based on the fact that the commit seems to have included a change to every existing registerPath declaration – either in a sample (or test) config, and in any test that called 'add-requesthandler')

          that type of change may be fine for 7.0, with an adequate upgrade instruction, but I worry about this breaking stuff for people who upgrade from 6.x to 6.5 w/o changing their configs.

          Show
          hossman Hoss Man added a comment - in addition to the smoketester failures – i'm concerned about this change being backported to 6x, since (IIUC) it means users have to change any existing requestHandler declarations they have that already use a registerPath attribute. (This is an assumption on my part based on the fact that the commit seems to have included a change to every existing registerPath declaration – either in a sample (or test) config, and in any test that called 'add-requesthandler' ) that type of change may be fine for 7.0, with an adequate upgrade instruction, but I worry about this breaking stuff for people who upgrade from 6.x to 6.5 w/o changing their configs.
          Hide
          hossman Hoss Man added a comment -

          re-opening and marking as blocker so we ensure we do something about the smoketest failures and backcompat questions before a 6.5 release

          Show
          hossman Hoss Man added a comment - re-opening and marking as blocker so we ensure we do something about the smoketest failures and backcompat questions before a 6.5 release
          Hide
          noble.paul Noble Paul added a comment -

          i'm concerned about this change being backported to 6x, since (IIUC) it means users have to change any existing requestHandler declarations they have that already use a registerPath attribute.

          can you make it clearer ? v2 api is not yet released. So where is the backcompat problem coming from

          Show
          noble.paul Noble Paul added a comment - i'm concerned about this change being backported to 6x, since (IIUC) it means users have to change any existing requestHandler declarations they have that already use a registerPath attribute. can you make it clearer ? v2 api is not yet released. So where is the backcompat problem coming from
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit faeb1fe8c16f9e02aa5c3bba295bc24325b94a07 in lucene-solr's branch refs/heads/master from Cao Manh Dat
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=faeb1fe ]

          SOLR-8045: Fix smokeTestRelease.py from precommit

          Show
          jira-bot ASF subversion and git services added a comment - Commit faeb1fe8c16f9e02aa5c3bba295bc24325b94a07 in lucene-solr's branch refs/heads/master from Cao Manh Dat [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=faeb1fe ] SOLR-8045 : Fix smokeTestRelease.py from precommit
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 464722a0a8ca1811d922e346d219d08676a12e65 in lucene-solr's branch refs/heads/branch_6x from Cao Manh Dat
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=464722a ]

          SOLR-8045: Fix smokeTestRelease.py from precommit

          Show
          jira-bot ASF subversion and git services added a comment - Commit 464722a0a8ca1811d922e346d219d08676a12e65 in lucene-solr's branch refs/heads/branch_6x from Cao Manh Dat [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=464722a ] SOLR-8045 : Fix smokeTestRelease.py from precommit
          Hide
          hossman Hoss Man added a comment -

          can you make it clearer ? v2 api is not yet released. So where is the backcompat problem coming from

          Huh? ... what you mean by "v2 api is not yet released" ... there seems to be plenty of v2 API related code released in 6.4.0 ??

          I'm talking about the way this issue changed the path that users (apparently) need to specify in their registerPath declarations – regardless of whether they do that manually in solrconfig.xml, or via the API.

          specifically these types of change in the branch_6x commits...

          https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;a=blobdiff;f=solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml;h=3dda6629610b45c57affef2e4c0b4256ae3a7d91;hp=a722176896139d02218bcc9d4fe282ca372ae69c;hb=89baa4f;hpb=8c5ea32bb9f2d9d8af98162e1e19c9559c8c602d

          -  <requestHandler name="/query" class="solr.SearchHandler" registerPath="/,/v2">
          +  <requestHandler name="/query" class="solr.SearchHandler" registerPath="/solr,/v2">
          

          https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;a=blobdiff;f=solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java;h=306b4b2105dff177f7c6d700c2e9fd55b7877992;hp=8479ae4f48f2e2393a1cecc61cf9f5e6d28e5789;hb=89baa4f;hpb=8c5ea32bb9f2d9d8af98162e1e19c9559c8c602d

          -        "'create-requesthandler' : { 'name' : '/test1', 'class': 'org.apache.solr.core.BlobStoreTestRequestHandler' ,registerPath: '/,/v2',  'runtimeLib' : true }\n" +
          +        "'create-requesthandler' : { 'name' : '/test1', 'class': 'org.apache.solr.core.BlobStoreTestRequestHandler' ,registerPath: '/solr,/v2',  'runtimeLib' : true }\n" +
          

          ...etc.

          If i'm understanding those changes correctly, even if a use doesn't care about the v2 api at all, won't their request handlers stop working unless they have this registerPath=/solr change?

          (or is registerPath a completely new concept that won't affect existing users if unspecified when upgrading existing configs?)

          Show
          hossman Hoss Man added a comment - can you make it clearer ? v2 api is not yet released. So where is the backcompat problem coming from Huh? ... what you mean by "v2 api is not yet released" ... there seems to be plenty of v2 API related code released in 6.4.0 ?? I'm talking about the way this issue changed the path that users (apparently) need to specify in their registerPath declarations – regardless of whether they do that manually in solrconfig.xml, or via the API. specifically these types of change in the branch_6x commits... https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;a=blobdiff;f=solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml;h=3dda6629610b45c57affef2e4c0b4256ae3a7d91;hp=a722176896139d02218bcc9d4fe282ca372ae69c;hb=89baa4f;hpb=8c5ea32bb9f2d9d8af98162e1e19c9559c8c602d - <requestHandler name="/query" class="solr.SearchHandler" registerPath="/,/v2"> + <requestHandler name="/query" class="solr.SearchHandler" registerPath="/solr,/v2"> https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;a=blobdiff;f=solr/core/src/test/org/apache/solr/core/TestDynamicLoading.java;h=306b4b2105dff177f7c6d700c2e9fd55b7877992;hp=8479ae4f48f2e2393a1cecc61cf9f5e6d28e5789;hb=89baa4f;hpb=8c5ea32bb9f2d9d8af98162e1e19c9559c8c602d - "'create-requesthandler' : { 'name' : '/test1', 'class': 'org.apache.solr.core.BlobStoreTestRequestHandler' ,registerPath: '/,/v2', 'runtimeLib' : true }\n" + + "'create-requesthandler' : { 'name' : '/test1', 'class': 'org.apache.solr.core.BlobStoreTestRequestHandler' ,registerPath: '/solr,/v2', 'runtimeLib' : true }\n" + ...etc. If i'm understanding those changes correctly, even if a use doesn't care about the v2 api at all, won't their request handlers stop working unless they have this registerPath=/solr change? (or is registerPath a completely new concept that won't affect existing users if unspecified when upgrading existing configs?)
          Hide
          hossman Hoss Man added a comment - - edited

          Huh? ... what you mean by "v2 api is not yet released" ... there seems to be plenty of v2 API related code released in 6.4.0 ??

          whoops ... my mistake. I must not have been been looking at the correct branch.

          the crux of my question is still about the effective default behavior of this registerPath option ... because i see Dat's commit changing existing tests & configs to use /solr instead of / – but it's not clear to be that the default effective value (of registerPath when unspecified by a user) has been changed to /solr ... or if the default effective value is impacted by this issue at all.


          Or to put it in a (broader) nutshell: are we 100% certain existing 6.4 users who upgrade their solr instances to branch_6x, w/o making any config changes, are unaffected by this change?

          Show
          hossman Hoss Man added a comment - - edited Huh? ... what you mean by "v2 api is not yet released" ... there seems to be plenty of v2 API related code released in 6.4.0 ?? whoops ... my mistake. I must not have been been looking at the correct branch. the crux of my question is still about the effective default behavior of this registerPath option ... because i see Dat's commit changing existing tests & configs to use /solr instead of / – but it's not clear to be that the default effective value (of registerPath when unspecified by a user) has been changed to /solr ... or if the default effective value is impacted by this issue at all. Or to put it in a (broader) nutshell: are we 100% certain existing 6.4 users who upgrade their solr instances to branch_6x, w/o making any config changes, are unaffected by this change?
          Hide
          noble.paul Noble Paul added a comment -

          The tests use the DumpRequestHandler which does not automatically support the /v2 path, so it is forced to be registered at the /v2 using the registerPath attribute.

          but it's not clear to be that the default effective value . (of registerPath when unspecified by a user)

          the default value of registerPath is empty. If it is empty, the framework asks the request handler where to deploy it. By default, all components register at /solr and not register at /v2. However components can override the registerV2() methode and return true to signal that it should be registered at /v2

          I can effectively remove that entry from solrconfig.xml by overriding that method and return true.

          Show
          noble.paul Noble Paul added a comment - The tests use the DumpRequestHandler which does not automatically support the /v2 path, so it is forced to be registered at the /v2 using the registerPath attribute. but it's not clear to be that the default effective value . (of registerPath when unspecified by a user) the default value of registerPath is empty. If it is empty, the framework asks the request handler where to deploy it. By default, all components register at /solr and not register at /v2 . However components can override the registerV2() methode and return true to signal that it should be registered at /v2 I can effectively remove that entry from solrconfig.xml by overriding that method and return true.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit b9f371e1e735554722ec2153b60593cded547c4c in lucene-solr's branch refs/heads/branch_6x from Noble Paul
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b9f371e ]

          SOLR-8045: SerachHandler to override the registerV2() and remove registerPath from sample solrconfig.xml

          Show
          jira-bot ASF subversion and git services added a comment - Commit b9f371e1e735554722ec2153b60593cded547c4c in lucene-solr's branch refs/heads/branch_6x from Noble Paul [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b9f371e ] SOLR-8045 : SerachHandler to override the registerV2() and remove registerPath from sample solrconfig.xml
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 124b50581041d6b2b3e68aa37a26e66aceb2abf1 in lucene-solr's branch refs/heads/master from Noble Paul
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=124b505 ]

          SOLR-8045: SerachHandler to override the registerV2() and remove registerPath from sample solrconfig.xml

          Show
          jira-bot ASF subversion and git services added a comment - Commit 124b50581041d6b2b3e68aa37a26e66aceb2abf1 in lucene-solr's branch refs/heads/master from Noble Paul [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=124b505 ] SOLR-8045 : SerachHandler to override the registerV2() and remove registerPath from sample solrconfig.xml
          Hide
          arafalov Alexandre Rafalovitch added a comment -

          Can be closed? It is now in 6.5rc1.

          Show
          arafalov Alexandre Rafalovitch added a comment - Can be closed? It is now in 6.5rc1.

            People

            • Assignee:
              caomanhdat Cao Manh Dat
              Reporter:
              noble.paul Noble Paul
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development