Putting on my pointy hat with the stars on it, I'm predicting that
various APIs of the File object return strings ending in "." on
OpenVMS whether you want them to or not. Lucene creates a file that it
thinks is named '1', (or something ending with '1') and OpenVMS
helpfully decides that it's name is actually '1.', and that's what
comes out of the File APIs that list files in a directory. And it's
all downhill from there. Given OpenVMs's rather antediluvian file
system architecture, nothing about this should surprise anyone.



On Thu, Oct 20, 2011 at 5:51 PM, Wayne Fay <wayne...@gmail.com> wrote:
>> With knowing the details about our environment
>> would you expect that Lucene written in clean Java
>> is not operating on such a platform?
>
> Without a comprehensive analysis of the source code for Lucene (and
> potentially, some or all of its dependencies) it is impossible to say
> anything conclusive about how well it may operate on OpenVMS or any
> other operating system except for those explicitly supported (and
> tested) by the dev team. Java isn't truly write-once run-anywhere,
> despite such claims ~10-15 years back.
>
> I looked at your stacktrace and the problem seemed to be related to a
> NumberFormatException thrown by java.lang.Long.parseLong() that is not
> being caught and handled by Lucene:
>
> Caused by: java.lang.NumberFormatException: For input string: "1."
>        at 
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
>        at java.lang.Long.parseLong(Long.java:419)
>        at 
> org.apache.lucene.index.SegmentInfos.generationFromSegmentsFileName(SegmentInfos.java:199)
>
> I found a Lucene JIRA issue that is loosely related:
> https://issues.apache.org/jira/browse/LUCENE-3008
>
> Looks like line 211 in trunk is the issue (was line 199 in the stacktrace):
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentInfos.java?view=markup
>
> The source code is:
>   return 
> Long.parseLong(fileName.substring(1+IndexFileNames.SEGMENTS.length()),
>      Character.MAX_RADIX);
>
> A quick look at the Java API shows:
> http://download.oracle.com/javase/1,5.0/docs/api/java/lang/Long.html#parseLong(java.lang.String,%20int)
>  An exception of type NumberFormatException is thrown if any of the
> following situations occurs:
>    * Any character of the string is not a digit of the specified
> radix, except that the first character may be a minus sign '-'
> ('\u002d') provided that the string is longer than length 1.
>
> The decimal character in the string "1." is not valid in the radix
> defined by Character.MAX_RADIX. So, you'll need to figure out where
> that filename of "1." is coming from -- either OpenVMS or Lucene --
> and somehow get rid of the decimal in the filename. Or just rename
> that file from 1. to simply 1 in your filesystem.
>
> Without access to an OpenVMS system and having no real understanding
> of Lucene's internals, I can't really look into it any more at this
> point. You probably need to email the Lucene Users list and ask if
> anyone has successfully gotten it to run on OpenVMS (I'm guessing not)
> and get things patched up before you can make more progress with
> getting Nexus running on it. Or take the more reasonable approach and
> simply install Nexus on a Windows box in your office. ;-)
>
> Wayne
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to