As discussed in this section in the design doc:
If we use different SFT implementation at master side and region server side, it is likely to cause data loss, which is a very serious misconfiguration problem.
A possible solution is to make sure that master and region server always load the configurations about StoreEngine from the same place. To archive this, a possible way is to always set the StoreEngine configurations to the TableDescriptor, even if user does not explicitly set it when creating a table.
And also, when upgrading, we should check whether the existing tables have StoreEngine configurations, if not, we need to set them.