1.每一个HTable都可能维护了一个buffer ,如果设置了buffer , 则需要设置autoflushcommit 为 flase , 默认为 true , 在进行了put操作之后 , 不能结束 。 如果结束的话,则 buffer中的数据没有送到HMaster .
2.如果多线程维护同一个HTable , 则多个线程共同维护了一个buffer , 这时就有可能出现ConcurrentModifyException .
3.使用ThreadLocal保留HTable的副本 。
1.每一个HTable都可能维护了一个buffer ,如果设置了buffer , 则需要设置autoflushcommit 为 flase , 默认为 true , 在进行了put操作之后 , 不能结束 。 如果结束的话,则 buffer中的数据没有送到HMaster .
2.如果多线程维护同一个HTable , 则多个线程共同维护了一个buffer , 这时就有可能出现ConcurrentModifyException .
3.使用ThreadLocal保留HTable的副本 。