org.hbase.async..MultiAction.swp Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of asynchbase Show documentation
Show all versions of asynchbase Show documentation
An alternative HBase client library for applications requiring fully
asynchronous, non-blocking and thread-safe HBase connectivity.
b0VIM 7.3 x?CO\#= ? tsuna nowwhat ~tsuna/src/asynchbase/src/MultiAction.java
3210 #"! U tp O ????????_ P ????????P ? ????????\ ? ????????c [ ????????a ? ????????] | ad k O ? ? ? ? D ? ? j ?
?
=
? ? o " ? ? ? ?
?
`
? ? ? ? ? q U 7 ? ? ? ? ? G ! ? ? ? Z ? z 1 ? ? P ? u t =
? ? ? ? ? a " ! ? ? < ? ? ? ? k j * We'll sort this list before serializing it. * All the RPCs in this batch. /** static final byte USE_MULTI = RegionClient.SERVER_VERSION_092_OR_ABOVE; */ * necessary, so we don't support it. * in HBASE-5204, because of a change in HBASE-3335 this is harder than * Technically we could use `multi' with HBase 0.90.x, but as explained * Protocol version from which we can use `multi' instead of `multiPut'. /** new NotServingRegionException("Region unavailable", null); private static final NotServingRegionException NSRE = /** Template for NSREs. */ }; 'm', 'u', 'l', 't', 'i' private static final byte[] MULTI = new byte[] { }; 'm', 'u', 'l', 't', 'i', 'P', 'u', 't' private static final byte[] MULTI_PUT = new byte[] { // better than the insane spaghetti mess in HBase's client and server. // believe me, what's here is -- in my biased opinion -- significantly // complex logic. This was better than all the code duplication. And // RPCs, which does add a bit of complexity to the already unnecessarily // RPCs depending on the server version. Hence this class supports both // added complexity in other places that had to deal with either kind of // from `multiPut', but this resulted in a lot of code duplication and // unwieldy. I originally wrote support for `multi' as a separate class // a reasonable implementation, it's obvious that the resulting code is // been a gigantic mess in HBase, and despite my best efforts to provide // with many nested loops and `if's. `multiPut' and `multi' have always // NOTE: I apologize for the long methods and complex control flow logic, final class MultiAction extends HBaseRpc { */ * that it will apply it atomically). * This RPC is guaranteed to be sent atomically (but HBase doesn't guarantee *