What causes DatabaseSchemaObjectExistsException error on existing table while reverting feature? When trying to revert my updated exported changes on features from development site to production site via Drush, it returns DatabaseSchemaObjectExistsException error stating that there is an existing table already on the schema. Revert could not be completed, so the feature field_base component status is always Rebuilding. Shouldn't features detect if the table is already existing and ignore field creation if it already is? What could have caused this issue? Any possible workaround for this issue?
This is usually caused when the initial feature revert or install went bad. The feature has attempted to created a field (I've only seen it happen with fields) and it's got as far as creating the base table and it's revision table but as far as features is concerned the field doesn't exist. Features then tries to re-create the field but Drupal errors out with that error message because the fields tables already exist.

My usual solution to this is to take a backup of the fields tables (including revisions) and then drop the effected tabled. You should then be able to revert the feature successfully and restore the data from your backup.