public void setAckSetByIndex(){
        if (batchSize == 1){
            return;
        }
        BitSetRecyclable bitSetRecyclable = BitSetRecyclable.create();
        bitSetRecyclable.set(0, batchSize, true);
        bitSetRecyclable.clear(batchIndex);
        long[] ackSet = bitSetRecyclable.toLongArray();
        bitSetRecyclable.recycle();
        setAckSet(ackSet);
    }
@Test(dataProvider = "batchSizeAndBatchIndexArgsArray")
    public void testSetAckSetByIndex(int batchSize, int batchIndex){
        // test 1/64
        TxnBatchedPositionImpl txnBatchedPosition = new TxnBatchedPositionImpl(1,1, batchSize, batchIndex);
        txnBatchedPosition.setAckSetByIndex();
        long[] ls = txnBatchedPosition.getAckSet();
        BitSetRecyclable bitSetRecyclable = BitSetRecyclable.valueOf(ls);
        for (int i = 0; i < batchSize; i++){
            if (i == batchIndex) {
                Assert.assertFalse(bitSetRecyclable.get(i));
            } else {
                Assert.assertTrue(bitSetRecyclable.get(i));
            }
        }
        bitSetRecyclable.recycle();
    }