* @param partition_id
* @param txn
* @return
*/
public void sendUnevictDataMessage(int remote_site_id, LocalTransaction txn, int partition_id, Table catalog_tbl, short[] block_ids, int[] tuple_offsets) {
Builder builder = UnevictDataRequest.newBuilder()
.setSenderSite(this.local_site_id)
.setTransactionId(txn.getOldTransactionId())
.setNewTransactionId(txn.getTransactionId())
.setPartitionId(partition_id)
.setTableId(catalog_tbl.getRelativeIndex());
for (int i = 0; i< block_ids.length; i++){
builder = builder.addBlockIds(block_ids[i]);
}
for (int i=0; i< tuple_offsets.length; i++){
builder = builder.addTupleOffsets(tuple_offsets[i]);
}
UnevictDataRequest request = builder.build();
try {
this.channels[remote_site_id].unevictData(new ProtoRpcController(), request, this.unevictCallback);
if (trace.val) {
LOG.trace(String.format("Sent unevict message request to remote hstore site %d from base site %d",
remote_site_id, this.hstore_site.getSiteId()));