I am searching why "with WAL disabled. Data may be lost in the event of a crash" log message in hbase region server log.
I am using phoenix, so changed "org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec" in hbase.regionserver.wal.codec parameter
After seeing above log message, I have searched about wal enable parameter.
But I can't find any parameter about wal log enable.
If I used phoenix with IndexedWALEditCodec, Can't I get some data when crashing region server?
Also I can see some directory /apps/hbase/data/WALs in HDFS
Please let me know true.
The above message can be ignored or should find the reason and fix the problem~
Thank you in advanced..
Lets have a look at the write path without WAL
1. Data written by client is written into HEAP(RAM) of the RegionServer and flushed on to disk after certain criteria is met and not immediately.
2. Data held in heap of Region Server will be lost, if Hbase crashed before it is written on to Disk.
3. disabling WAL will have the same effect if you use Phoneix or directly inteact with Hbase through API or hbase shell. As WAL is a hbase feature and not Phoneix.
4. Disabling WAL will improve the Write throughput but comes at the cost of incurring Data Lost.
I'm appreciate for answer~
Do you mean "After I set IndexedWALEditCodec ( using phoenix ) , I can't use WAL" ?
Is it right?
Is there any method "Using phoenix with WAL" ?