Yes, you should be able to mix in the use of transactional tables. You can access tables w/out the transactional semantics/overhead as normal, even when running a TransactionalRegionServer. You also can use the same tables w/out the TRS extension, however edits will not be reflected in indexes.
The error message you hit happens when a regionserver goes down hard, and the master tries to split its WAL. The transactional contrib extends the WAL by adding keys for transactional ops. In order for the master to know about the key type, a bit of config is needed (from package.html in o.a.h.h.client.transactional) Additionally, to properly recover from the write-ahead-log, the transactional log key class must be registered by setting <i>hbase.regionserver.hlog.keyclass</i> to <i>org.apache.hadoop.hbase.regionserver.transactional.THLogKey</i> The WAL aspect of the transactional layer is due for an overhaul now that the base WALing has been reworked for hdfs w/append. cheers, -clint On Fri, Apr 16, 2010 at 8:25 AM, George Stathis <gstat...@gmail.com> wrote: > Contrib transactional (org.apache.hadoop.hbase.client.tableindexed), version > 0.20.3 tag with this patch applied ( > https://issues.apache.org/jira/browse/HBASE-2426). I've been running on this > patch for over a week now and have not seen this warning until today, after > I introduced the regular HTable. > > Well I just restarted the local pseudo-cluster and the warning did not > re-appear. So now I'm wondering if the warning was a by-product of > an inappropriate shutdown. Master and Zookeeper keep freezing if my laptop > goes into hibernation mode, so I usually have to kill the processes since > the regular shut down commands don't work. So I'm thinking that might be the > issue, although the warming was pointing to a transactional vs. > non-transactional log key discrepancy. > > In any case, I don't want to suck people into a wild goose chance here. I'll > keep an eye on it. It might be that the patch is causing it although I doubt > it; it did not touch any of the log key classes. > > I really just wanted to know whether transactional and non-transactional > tables could co-exist since the former requires > an org.apache.hadoop.hbase.ipc.IndexedRegionInterface implementation to > work. I was not sure whether the two were compatible but it seems that they > are expected to be. Correct? If so, this answers my question. > > -GS > > On Fri, Apr 16, 2010 at 10:57 AM, Michael Segel > <michael_se...@hotmail.com>wrote: > >> >> Interesting. >> We haven't had an issue. >> Are you using the ../contrib/transactional indexing or the other package? >> >> > From: gstat...@gmail.com >> > Date: Fri, 16 Apr 2010 10:33:02 -0400 >> > Subject: OK to mix transactional tables with regular HTables? >> > To: hbase-user@hadoop.apache.org >> > >> > Hello all, >> > >> > Is it OK to mix transactional IndexTable and regular HTables in the same >> > cluster? I am testing with both types and, while things seem to work ok >> in >> > the hbase shell, I just got this interesting warning when I restarted my >> > local instance (see stack trace below). My data still seems to be there >> > though. >> > >> > Thank you in advance for your input. >> > >> > -GS >> > >> > >> > 2010-04-16 10:26:00,518 WARN org.apache.hadoop.hbase.regionserver.HLog: >> > Exception processing >> > hdfs://localhost:9000/hbase/.logs/192.168.1.16 >> ,49693,1271367158426/hlog.dat.1271367158502 >> > -- continuing. Possible DATA LOSS! >> > java.io.IOException: wrong key class: >> > org.apache.hadoop.hbase.regionserver.HLogKey is not class >> > org.apache.hadoop.hbase.regionserver.transactional.THLogKey >> > at org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1824) >> > at org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1876) >> > at org.apache.hadoop.hbase.regionserver.HLog.splitLog(HLog.java:966) >> > at org.apache.hadoop.hbase.regionserver.HLog.splitLog(HLog.java:872) >> > at >> > >> org.apache.hadoop.hbase.master.HMaster.splitLogAfterStartup(HMaster.java:616) >> > at >> > >> org.apache.hadoop.hbase.master.HMaster.verifyClusterState(HMaster.java:550) >> > at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:413) >> >> _________________________________________________________________ >> The New Busy think 9 to 5 is a cute idea. Combine multiple calendars with >> Hotmail. >> >> http://www.windowslive.com/campaign/thenewbusy?tile=multicalendar&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_5 >> >