AnsweredAssumed Answered

Returning bad page to cache page: (10065.143802.838306 0, id: 1, state Invalid)

Question asked by matroyd on Jan 16, 2013
Latest reply on Jan 16, 2013 by matroyd
We have a java process(READER) outside of Hadoop ecosystem that reads a file from MapR fs. This READER is a long running process so it reads the data multiple times(on request) from same file during its lifecycle. READER holds on to the Hadoop FileSystem object it creates at start-up. Another process(WRITER) **overwrites** the file while READER is alive but not reading. The READER then gets the following error:

    2013-01-16 14:52:18,4249 ERROR Client fs/client/fileclient/cc/client.cc:2316 Thread: -2 Read failed for file /FOO/BAR, error Stale File handle(116), off 65536 len 458752
    01/16/2013 14:52:18 [ERROR] [Inode] [T:main ] 10065.143802.838306 /FOO/BAR Returning bad page to cache page: (10065.143802.838306 0, id: 1, state Invalid)
    01/16/2013 14:52:18 [FATAL] [FooService] [T:main ] FooService failed
    Caused by: java.io.IOException: 10065.143802.838306 /FOO/BAR (Input/output error)
          at com.mapr.fs.Inode.throwIfFailed(Inode.java:162)
          at com.mapr.fs.Inode.getDataIntoCache(Inode.java:574)
          at com.mapr.fs.MapRFsInStream.dropAndRefillCurrentPage(MapRFsInStream.java:99)
          at com.mapr.fs.MapRFsInStream.read(MapRFsInStream.java:134)
          at java.io.DataInputStream.read(Unknown Source)
          ... 9 more


We verified the file size is not 0. We are using M3 MapR v2 from 64-bit Redhat Linux.

Some explanation of the error will be helpful, also can we tweak following to avoid this error? (currently using defaults)

    fs.mapr.namecache.size=??
    fs.mapr.inodecache.size=??
    fs.mapr.namecache.timeout=??

Outcomes