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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 6.3
    • 6.4, 7.0
    • Server
    • None
    • 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

              mkhl Mikhail Khludnev
              afscrome Alex Crome
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: