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

solr.cmd on Windows requires modify permissions in the current directory

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.3
    • Fix Version/s: 6.4, 7.0
    • Component/s: Server
    • Security Level: Public (Default Security Level. Issues are Public)
    • Labels:
      None
    • Environment:

      Windows

      Description

      Currently starting solr fails if the user does not have permission to write to the current directory. This is caused by the resolve_java_vendor function writing a temporary file to the current directory (javares).

      :resolve_java_vendor
      set "JAVA_VENDOR=Oracle"
      "%JAVA%" -version 2>&1 | findstr /i "IBM J9" > javares
      set /p JAVA_VENDOR_OUT=<javares
      del javares
      if NOT "%JAVA_VENDOR_OUT%" == "" (
        set "JAVA_VENDOR=IBM J9"
      )
      

      Rather than writing this temporary file to disk, The exit code of findstr can be used to determine if there is a match. (0 == match, 1 == no match, 2 == syntax error)

      :resolve_java_vendor
      "%JAVA%" -version 2>&1 | findstr /i "IBM J9" > nul
      if %ERRORLEVEL% == 1 set "JAVA_VENDOR=Oracle" else set "JAVA_VENDOR=IBM J9"
      

      By not writing this temp file, you can reduce the permissions solr needs. As a work around until this is fixed, you can start solr in a directory that has the required permissions,

      1. SOLR-9760.patch
        1 kB
        Mikhail Khludnev

        Issue Links

          Activity

          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user afscrome opened a pull request:

          https://github.com/apache/lucene-solr/pull/113

          SOLR-9760 Avoid temporary files to determine java version

          Avoid creating a temporary file so that solr does not require permissions in the current working directory.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/afscrome/lucene-solr patch-1

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/lucene-solr/pull/113.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #113


          commit 5330ed23cfbb78650537a23d455ae92648b203dd
          Author: Alex Crome <afscrome@users.noreply.github.com>
          Date: 2016-11-14T19:37:26Z

          SOLR-9760 Avoid temporary files to determine java version

          Avoid creating a temporary file so that solr does not require permissions in the current working directory.


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user afscrome opened a pull request: https://github.com/apache/lucene-solr/pull/113 SOLR-9760 Avoid temporary files to determine java version Avoid creating a temporary file so that solr does not require permissions in the current working directory. You can merge this pull request into a Git repository by running: $ git pull https://github.com/afscrome/lucene-solr patch-1 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/lucene-solr/pull/113.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #113 commit 5330ed23cfbb78650537a23d455ae92648b203dd Author: Alex Crome <afscrome@users.noreply.github.com> Date: 2016-11-14T19:37:26Z SOLR-9760 Avoid temporary files to determine java version Avoid creating a temporary file so that solr does not require permissions in the current working directory.
          Hide
          afscrome Alex Crome added a comment -

          This same fix also fixes a problem with running solr in Azure Websites - https://stackoverflow.com/questions/40794626/unable-to-run-solr-on-azure-web-apps

          Show
          afscrome Alex Crome added a comment - This same fix also fixes a problem with running solr in Azure Websites - https://stackoverflow.com/questions/40794626/unable-to-run-solr-on-azure-web-apps
          Hide
          mkhludnev Mikhail Khludnev added a comment -

          SOLR-9760.patch checked on both jvms. It works at least.

          Show
          mkhludnev Mikhail Khludnev added a comment - SOLR-9760.patch checked on both jvms. It works at least.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit febe0019a1e5ad2a0d38b8cf000bcf6f3abfa760 in lucene-solr's branch refs/heads/master from Mikhail Khludnev
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=febe001 ]

          SOLR-9760: solr.cmd doesn't need write permission in current directory

          Show
          jira-bot ASF subversion and git services added a comment - Commit febe0019a1e5ad2a0d38b8cf000bcf6f3abfa760 in lucene-solr's branch refs/heads/master from Mikhail Khludnev [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=febe001 ] SOLR-9760 : solr.cmd doesn't need write permission in current directory
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit b45293313be52127841dc01e84bcd66909d305aa in lucene-solr's branch refs/heads/branch_6x from Mikhail Khludnev
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b452933 ]

          SOLR-9760: solr.cmd doesn't need write permission in current directory

          Show
          jira-bot ASF subversion and git services added a comment - Commit b45293313be52127841dc01e84bcd66909d305aa in lucene-solr's branch refs/heads/branch_6x from Mikhail Khludnev [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b452933 ] SOLR-9760 : solr.cmd doesn't need write permission in current directory
          Show
          mkhludnev Mikhail Khludnev added a comment - Feel free to check nightly build: https://builds.apache.org/job/Lucene-Artifacts-6.x/lastSuccessfulBuild/artifact/lucene/dist/

            People

            • Assignee:
              mkhludnev Mikhail Khludnev
              Reporter:
              afscrome Alex Crome
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development