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,

        Attachments

        1. SOLR-9760.patch
          1 kB
          Mikhail Khludnev

          Issue Links

            Activity

              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: