So, there's another way for fixing temp connectivity issues affect (sink needs to be restarted). So options are:
* use retry (collector) decorator -- needs to be tested
* adjust the hbase settings (in xml) to make it retry "harder"
* add code for retrying in hbase sink
While the first two options look like the better approaches and more natural, the third one sets default behavior of the sink to what is expected by the user. My thought is that iff it is ok to ask user to always (well, if it is needed) use extra steps/configs while using hbase sink since default behavior isn't that good, then we should go with either of the first two options (i.e. just add it to a guide/javadocs).
Anyways, I'd leave & commit the refactor of the HBase sink classes (i.e. extracting base one). May be to distinguish the refactoring from this retrying issue it makes sense to create separate issue with patch just for refactoring?