You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Chris M. Hostetter (Jira)" <ji...@apache.org> on 2021/03/26 19:14:00 UTC

[jira] [Reopened] (SOLR-15244) Use NIO methods instead of IO when interacting with Lucene Directory

     [ https://issues.apache.org/jira/browse/SOLR-15244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris M. Hostetter reopened SOLR-15244:
---------------------------------------

This change seems to be causing a lot of reproducible jenkins failures with a similar looking failure message...


{noformat}
Error Message:
java.security.AccessControlException: access denied ("java.io.FilePermission" "/_trusted_/keys" "write")

Stack Trace:
java.security.AccessControlException: access denied ("java.io.FilePermission" "/_trusted_/keys" "write")
        at __randomizedtesting.SeedInfo.seed([CA37A77391A310D5:27695F02A3E9C75C]:0)
        at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
        at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
        at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
        at java.base/java.lang.SecurityManager.checkWrite(SecurityManager.java:752)
        at java.base/sun.nio.fs.UnixPath.checkWrite(UnixPath.java:824)
        at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:381)
        at java.base/java.nio.file.Files.createDirectory(Files.java:689)
        at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:796)
        at java.base/java.nio.file.Files.createDirectories(Files.java:742)
        at org.apache.solr.filestore.DistribPackageStore._persistToFile(DistribPackageStore.java:584)
        at org.apache.solr.packagemanager.PackageUtils.uploadKey(PackageUtils.java:263)
        at org.apache.solr.filestore.TestDistribPackageStore.uploadKey(TestDistribPackageStore.java:268)
        at org.apache.solr.handler.TestContainerPlugin.testApiFromPackage(TestContainerPlugin.java:297)
{noformat}

Here's a quick summary of failures i get locally...

{noformat}
ERROR: The following test(s) have failed:
  - org.apache.solr.pkg.TestPackages.testSchemaPlugins (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.pkg.TestPackages.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.pkg.TestPackages.testSchemaPlugins" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.pkg.TestPackages.testCoreReloadingPlugin (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.pkg.TestPackages.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.pkg.TestPackages.testCoreReloadingPlugin" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.pkg.TestPackages.testPluginLoading (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.pkg.TestPackages.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.pkg.TestPackages.testPluginLoading" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.pkg.TestPackages.testAPI (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.pkg.TestPackages.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.pkg.TestPackages.testAPI" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.cloud.PackageManagerCLITest.testPackageManager (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.cloud.PackageManagerCLITest.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.cloud.PackageManagerCLITest.testPackageManager" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.handler.TestReplicationHandler.doTestStressReplication (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.handler.TestReplicationHandler.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.handler.TestReplicationHandler.doTestStressReplication" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.handler.TestReplicationHandler.doTestIndexAndConfigAliasReplication (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.handler.TestReplicationHandler.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.handler.TestReplicationHandler.doTestIndexAndConfigAliasReplication" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.handler.TestReplicationHandler.doTestIndexAndConfigReplication (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.handler.TestReplicationHandler.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.handler.TestReplicationHandler.doTestIndexAndConfigReplication" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.handler.TestContainerPlugin.testApiFromPackage (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.handler.TestContainerPlugin.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.handler.TestContainerPlugin.testApiFromPackage" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

  - org.apache.solr.filestore.TestDistribPackageStore.testPackageStoreManagement (:solr:core)
    Test output: /home/hossman/lucene/solr/solr/core/build/test-results/test/outputs/OUTPUT-org.apache.solr.filestore.TestDistribPackageStore.txt
    Reproduce with: gradlew :solr:core:test --tests "org.apache.solr.filestore.TestDistribPackageStore.testPackageStoreManagement" -Ptests.jvms=5 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=B65C1ED0A884CEB3 -Ptests.file.encoding=US-ASCII

{noformat}

...I've manually confirmed that the first one () reliably passes as of e9813bd701b but reliably fails as of 5689101545e



> Use NIO methods instead of IO when interacting with Lucene Directory
> --------------------------------------------------------------------
>
>                 Key: SOLR-15244
>                 URL: https://issues.apache.org/jira/browse/SOLR-15244
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Mike Drob
>            Assignee: Mike Drob
>            Priority: Major
>             Fix For: main (9.0)
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> We have a lot of places where we are still using IO methods and File objects, and then doing conversions to Path for accessing Lucene Directory. We also have places where we are doing a bunch of conversions from Path to String and back to Path through SolrResourceLoader.
> Do a sweep of these and update at least the easy ones. There are a few places where File APIs might still make more sense or be too burdensome to convert, can leave those for another day.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org