newfeature: pack partkey,key,val to one array