Billie, Thanks for the quick reply. I did some checking and the Hadoop docs indicate that seeking past the end of the file is illegal.
http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/fs/FSDataInputStream.html#seek%28long%29 seek public void seek(long desired) throws IOException Description copied from interface: Seekable Seek to the given offset from the start of the file. The next read() will be from that location. Can't seek past the end of the file. Specified by: seek in interface Seekable Throws: IOException The code below that is seeking to the file length is actually seeking one byte past the end of the file since the first byte in a file is byte zero. To me this seems like an Accumulo bug. Can this be fixed? Thanks, Keys ________________________________ Keys Botzum Senior Principal Technologist WW Systems Engineering [email protected] 443-718-0098 MapR Technologies http://www.mapr.com On Mar 30, 2012, at 5:04 PM, Billie J Rinaldi wrote: > I ran the following JUnit test and verified that the value printed out was > the file length. > > @Test > public void testSeekToEOF() throws IOException { > FileSystem fs = FileSystem.get(new Configuration()); > FSDataInputStream fdi = fs.open(new Path("README")); > System.out.println("seeking to end: " + fdi.available()); > fdi.seek(fdi.available()); > fdi.close(); > } > > > ----- Original Message ----- >> From: "Keys Botzum" <[email protected]> >> To: [email protected] >> Sent: Friday, March 30, 2012 4:56:09 PM >> Subject: Re: Accumulo on MapR Continued >> Can you share the program? I can try running it and answer your >> question. I can also of course check with MapR engineering to see if >> that's the issue. >> >> >> Much appreciated, >> Keys >> >> ________________________________ >> Keys Botzum >> Senior Principal Technologist >> WW Systems Engineering >> [email protected] >> 443-718-0098 >> MapR Technologies >> http://www.mapr.com >> >> >> >> >> >> On Mar 30, 2012, at 4:48 PM, Billie J Rinaldi wrote: >> >> >> >> On Friday, March 30, 2012 2:07:49 PM, "Keys Botzum" < >> [email protected] > wrote: >> >> >> 30 11:00:15,778 [tabletserver.Tablet] ERROR: Failed to find lastkey >> >> >> Seeking beyond EOF, filelen 733, wantpos 733 >> >> It looks like Accumulo is trying to seek to the last position in a >> file. I just wrote a little program that opens a file in HDFS and >> seeks to its file length, and it didn't throw an error. Does MapR not >> allow this? If that is the desired MapR behavior, we could try to >> determine whether Accumulo could avoid performing that seek. >> >> Billie
