Here's another strange client behavior: When autoFlush is set to false on HTable (or HTable.batch is used), this triggers a Multi action at the RegionServer.
However, the RegionServer collects all Puts and executes those after all other action (presumably to make use of batching for Puts). If the batch contains Deletes that is not correct, since the order of Deletes w.r.t. Puts is significant. I am adding the option to force execution in the provided order (default false), which would retain the order of Puts/Deletes/etc, but comes with a performance penalty at the server (it is still a single roundtrip, though, which is good). I'll attach a patch for this (as part of a bigger change) to HBASE-5203 soon. Please provide your comments. Thanks. -- Lars
