Sorry, never answered your question about versions. I have 1.0.0 version of hbase, which has hadoop-common 2.5.1 in its lib folder.
-j On 3/10/15, 11:36 AM, "Rose, Joseph" <[email protected]> wrote: >I tried it and it does work now. It looks like the interface for >hadoop.fs.Syncable changed in March, 2012 to remove the deprecated sync() >method and define only hsync() instead. The same committer did the right >thing and removed sync() from FSDataOutputStream at the same time. The >remaining hsync() method calls flush() if the underlying stream doesn’t >implement Syncable. > > >-j > > >On 3/6/15, 5:24 PM, "Stack" <[email protected]> wrote: > >>On Fri, Mar 6, 2015 at 1:50 PM, Rose, Joseph < >>[email protected]> wrote: >> >>> I think the final issue with hadoop-common (re: unimplemented sync for >>> local filesystems) is the one showstopper for us. We have to have >>>assured >>> durability. I¹m willing to devote some cycles to get it done, so maybe >>>I¹m >>> the one that says this problem is worthwhile. >>> >>> >>I remember that was once the case but looking in codebase now, sync calls >>through to ProtobufLogWriter which does a 'flush' on output (though >>comment >>says this is a noop). The output stream is an instance of >>FSDataOutputStream made with a RawLOS. The flush should come out here: >> >>220 public void flush() throws IOException { fos.flush(); } >> >>... where fos is an instance of FileOutputStream. >> >>In sync we go on to call hflush which looks like it calls flush again. >> >>What hadoop/hbase versions we talking about? HADOOP-8861 added the above >>behavior for hadoop 1.2. >> >>Try it I'd say. >> >>St.Ack >
