Here's code that reproduces it. public void testMain() throws IOException { RAMDirectory ramDirectory = new RAMDirectory(); IndexOutput output = ramDirectory.createOutput("test"); byte[] bytes = "hello world".getBytes("UTF-8"); output.writeBytes(bytes, bytes.length); output.flush(); System.out.println("fileLength: "+ramDirectory.fileLength("test")); output = ramDirectory.createOutput("test"); IndexInput input = ramDirectory.openInput("test"); System.out.println("input length: "+input.length()); }
On Thu, Jun 19, 2008 at 2:59 PM, Jason Rutherglen < [EMAIL PROTECTED]> wrote: > Yes. Also close. But then reopen the IndexOutput again later, then open > the IndexInput. I'm not sure if this is the recomended usage of these > APIs. It seems everywhere else in the Lucene code base only one is open at > a time. > > > On Thu, Jun 19, 2008 at 12:50 PM, Yonik Seeley <[EMAIL PROTECTED]> wrote: > >> Did you try calling flush() on the IndexOutput before opening the >> IndexInput? >> >> -Yonik >> >> On Thu, Jun 19, 2008 at 12:13 PM, Jason Rutherglen >> <[EMAIL PROTECTED]> wrote: >> > Seeing strange behavior with RAMDirectory. Is a file designed to >> supported >> > IndexOutput being open concurrently with IndexInput? I open an >> IndexInput >> > with IndexOutput open, with data written to the file previously, and the >> > IndexInput is reporting a filelength of 0, while Directory.fileLength() >> > reports 110. Also seeing other strange behavior. >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >