I filed HBASE-28719 to change the internal type of WALEdit to ExtendedCell but still keep the public methods to accept Cell since it is marked as IA.LimitedPrivate for coprocessor and replication.
In the javadoc of WALEdit, we said that the class is read only for coprocessor and customized replication, and mark all the add methods IA.Private. But in HRegion's implementation, we do call the coprocessor methods with an empty WALEdit, and then collect the cells in this WALEdit for adding them to the WALEdit we actually write out later. So I wonder whether the javadoc reflects the real usage here... Do we have any real usage which adds cells to WALEdit? If so, I think we should redesign the visibility of these methods a bit. Feedbacks are welcome. Thanks.