[jira] [Commented] (SOLR-11473) Make HDFSDirectoryFactory support other prefixes (besides hdfs:/)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (SOLR-11473) Make HDFSDirectoryFactory support other prefixes (besides hdfs:/)

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/SOLR-11473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16201846#comment-16201846 ]

Mike Drob commented on SOLR-11473:
----------------------------------

bq. In general, I would prefer to use the URI class throughout HDFSDirectoryFactory for resolving paths, but this is just my personal opinion.
 
IIRC I tried this once before and ran into something thorny. But I can't figure out what it was. If you run into problems, feel free to ping me about it [~radu0gheorghe]

> Make HDFSDirectoryFactory support other prefixes (besides hdfs:/)
> -----------------------------------------------------------------
>
>                 Key: SOLR-11473
>                 URL: https://issues.apache.org/jira/browse/SOLR-11473
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public)
>          Components: hdfs
>    Affects Versions: 6.6.1
>            Reporter: Radu Gheorghe
>            Priority: Minor
>
> Not sure if it's a bug or a missing feature :) I'm trying to make Solr work on Alluxio, as described by [~thelabdude] in https://www.slideshare.net/thelabdude/running-solr-in-the-cloud-at-memory-speed-with-alluxio/1
> The problem I'm facing here is with autoAddReplicas. If I have replicationFactor=1 and the node with that replica dies, the node taking over incorrectly assigns the data directory. For example:
> before
> {code}"dataDir":"alluxio://localhost:19998/solr/test/",{code}
> after
> {code}"dataDir":"alluxio://localhost:19998/solr/test/core_node1/alluxio://localhost:19998/solr/test/",{code}
> The same happens for ulogDir. Apparently, this has to do with this bit from HDFSDirectoryFactory:
> {code}  public boolean isAbsolute(String path) {
>     return path.startsWith("hdfs:/");
>   }{code}
> If I add "alluxio:/" in there, the paths are correct and the index is recovered.
> I see a few options here:
> * add "alluxio:/" to the list there
> * add a regular expression in the lines of \[a-z]*:/ I hope that's not too expensive, I'm not sure how often this method is called
> * don't do anything and expect alluxio to work with an "hdfs:/" path? I actually tried that and didn't manage to make it work
> * have a different DirectoryFactory or something else?
> What do you think?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]